File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
<Choices name="first">
<Choice name="first">11111</Choice>
<Choice name="second">22222</Choice>
</Choices>
<Choices name="second">
<Choice name="first">33333</Choice>
<Choice name="second">44444</Choice>
</Choices>
</data>
File: Transform.xslt
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<TABLE border="1">
<TR>
<td> . </TH>
<td>current()</TH>
</TR>
<xsl:apply-templates select="//Choices"/>
</TABLE>
</xsl:template>
<xsl:template match="Choices">
<TR>
<TD>
<xsl:value-of select="./@name"/>
</TD>
<TD>
<xsl:value-of select="current()/@name"/>
</TD>
</TR>
<TR>
<TD>
<xsl:apply-templates select="Choice[./@name='first']"/>
</TD>
<TD>
<xsl:apply-templates select="Choice[current()/@name='first']"/>
</TD>
</TR>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?><TABLE border="1"><TR><td> .
</TH><td>current()</TH></TR><TR><TD>first</TD><TD>first</TD></TR><TR>
<TD>11111</TD><TD>1111122222</TD></TR><TR><TD>second</TD><TD>second</TD></TR><TR><TD>33333</TD><TD/></TR></TABLE>
|