File: Data.xml
<?xml version="1.0" encoding="utf-8"?>
<data>
<contact>
<name>John</name>
<street>Long street </street>
<number>7</number>
<tel>
<home>25252511</home>
<work>88888888</work>
</tel>
</contact>
<contact>
<name>Joe</name>
<street>Short avenue </street>
<number>75</number>
<tel>
<home>21111111</home>
<work>111111111</work>
</tel>
</contact>
</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>
<xsl:for-each select="//*">
<xsl:call-template name="generalTemplate"/>
</xsl:for-each>
</TABLE>
</xsl:template>
<xsl:template name="generalTemplate">
<TR>
<TD>
<xsl:value-of select="name(.)"/>
</TD>
</TR>
</xsl:template>
</xsl:stylesheet>
Output:
<?xml version="1.0" encoding="UTF-8"?><TABLE><TR><TD>data</TD></TR><TR><TD>contact</TD></TR><TR><TD>name</TD></TR><TR><TD>street</TD></TR><TR><TD>number</TD></TR><TR><TD>tel</TD></TR><TR><TD>home</TD></TR><TR><TD>work</TD></TR><TR><TD>contact</TD></TR><TR><TD>name</TD></TR><TR><TD>street</TD></TR><TR><TD>number</TD></TR><TR><TD>tel</TD></TR><TR><TD>home</TD></TR><TR><TD>work</TD></TR></TABLE>
|