xsl-list
[Top] [All Lists]

[xsl] Backward Navigation Problem

2009-11-02 04:30:55
Hi,

My sample XML file lok lilke this
<root>
<employees>
 <employee hireDate="04/23/1999">
<COLUMN NAME="LAST">Hilllfrist</COLUMN> <COLUMN NAME="STATUS"><![CDATA[A]]></COLUMN>
 </employee>
 <employee hireDate="05/23/1999">
<COLUMN NAME="LAST">raj</COLUMN> <COLUMN NAME="STATUS"><![CDATA[T]]></COLUMN>
 </employee>
</employees>
<TABLE NAME="XLATTABLE_EMPL_STATUS">
<ROWS>
<ROW>
<COLUMN NAME="STATUS"><![CDATA[T]]></COLUMN>
<COLUMN NAME="DESCR"><![CDATA[Terminated]]></COLUMN>
</ROW>
<ROW>
<COLUMN NAME="STATUS"><![CDATA[A]]></COLUMN>
<COLUMN NAME="DESCR"><![CDATA[Active]]></COLUMN>
</ROW>
<ROW>
</TABLE >
</root>

I need to Iterate all the Status values and need to fetch the description from XLATTABLE_EMPL_STATUS.

Example if the status is A, it has to be displayed as Active, if its T , it has to be displayed as Terminated.

My xsl code is as below.

xsl:template match="root">
 <xsl:for-each select="employees">
   <xsl:for-each select="employee">
   <xsl:if test="@NAME='STATUS'">
<xsl:variable name="status" select="."/> <xsl:for-each select="TABLE[(_at_)NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[(_at_)NAME='STATUS']"> <xsl:value-of select="TABLE[(_at_)NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[(_at_)NAME='DESCR']"
       </xsl:for-each>

   </xsl:if>

   </xsl:for-each>
</xsl:for-each>
</xsl:template>

looks like TABLE[(_at_)NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[(_at_)NAME='STATUS']" is not working.

Approaches I followed.
1)  
../TABLE[(_at_)NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[(_at_)NAME='STATUS']"
2) parent::node()/TABLE[(_at_)NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[(_at_)NAME='DESCR']

Please suggest me on this.


Thanks,
Anil








--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>