Mega Code Archive

 
Categories / XML Tutorial / XSLT StyleSheet
 

Get the name of currently selected element with name function

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>