[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
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[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='STATUS']">
<xsl:value-of select="TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='DESCR']"
</xsl:for-each>
</xsl:if>
looks like TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='STATUS']" is not working.
Approaches I followed.
1) ../TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='STATUS']"
2) parent::node()/TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='DESCR']
Please suggest me on this.
[xsl] Backward Navigation Problem
Subject: [xsl] Backward Navigation Problem From: Anil Kumar Veeramalli <anil.v@xxxxxxxxxxxxxxxxxxxxx> Date: Mon, 02 Nov 2009 15:00:15 +0530 |
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[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='STATUS']">
<xsl:value-of select="TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='DESCR']"
</xsl:for-each>
</xsl:if>
</xsl:for-each> </xsl:for-each> </xsl:template>
looks like TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='STATUS']" is not working.
Approaches I followed.
1) ../TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='STATUS']"
2) parent::node()/TABLE[@NAME='XLATTABLE_EMPL_STATUS']/ROWS/ROW/COLUMN[@NAME='DESCR']
Please suggest me on this.
Thanks, Anil
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSL-List Guidelines, Mulberry Technologie | Thread | Re: [xsl] Backward Navigation Probl, Mukul Gandhi |
[xsl] XSL-List Guidelines, Mulberry Technologie | Date | Re: [xsl] Backward Navigation Probl, Mukul Gandhi |
Month |