File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
<item cell="1"> cell 1 </item>
<item cell="2"> cell 2 </item>
<name cell="1"> name 1 </name>
<name cell="2"> name 2 </name>
<size cell="1"> size 1 </size>
<size cell="2"> size 2 </size>
</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="/data">
<TABLE border="1">
<xsl:apply-templates select="*[@cell='1']"/>
</TABLE>
</xsl:template>
<xsl:template match="*">
<TR>
<TD>
<xsl:value-of select="."/>
</TD>
<TD>
<xsl:value-of select="//*[name()=name(current()) and @cell='2']"/>
</TD>
</TR>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?><TABLE border="1"><TR><TD> cell 1 </TD><TD> cell 2 </TD></TR><TR><TD> name 1 </TD><TD> name 2 </TD></TR><TR><TD> size 1 </TD><TD> size 2 </TD></TR></TABLE>
|