get the name of currently selected element with name function : name « XSLT stylesheet « XML Tutorial






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>








5.62.name
5.62.1.name()- Takes zero or one node-set arguments and returns the name of the node in prefix:localpart format
5.62.2.name() function
5.62.3.get the name of currently selected element with name function
5.62.4.prints names of all elements used in the document
5.62.5.An example of use of function name()