Fonction name() |
Renvoie le nom qualifié d'un nœud. Le nom qualifié inclut le préfixe d'espace de noms approprié. Pour obtenir des informations concernant l'URI d'espace de noms (et non le préfixe), XPath fournit la fonction namespace-uri().
Entrées
Un ensemble de nœuds facultatif. Si aucun ensemble de nœuds n'est indiqué, la fonction name() crée un ensemble de nœuds ayant pour seul membre le nœud de contexte.
Sortie
Le nom développé du nœud. Si l'ensemble de nœuds est vide ou si le premier nœud de l'ensemble de nœuds ne possède pas de nom développé, une chaîne vide est renvoyée.
Définie dans
XPath section 4.1, Fonctions Ensemble de nœuds.
Exemple
Le document XML suivant illustre la fonction name() :
    <?xml version="1.0"?>
    <report>
      <title>Miles Flown in 2001</title>
      <month sequence="01">
        <miles-flown>12379</miles-flown>
        <miles-earned>35215</miles-earned>
      </month>
      <month sequence="02">
        <miles-flown>32857</miles-flown>
        <miles-earned>92731</miles-earned>
      </month>
      <month sequence="03">
        <miles-flown>19920</miles-flown>
        <miles-earned>76725</miles-earned>
      </month>
      <month sequence="04">
        <miles-flown>18903</miles-flown>
        <miles-earned>31781</miles-earned>
      </month>
    </report>
La feuille de style suivante a permis de générer la valeur de la fonction name() pour chaque nœud du document XML :
    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:months="Lookup table for month names">

      <months:name sequence="12">December</months:name>
      <months:name sequence="01">January</months:name>
      <months:name sequence="02">February</months:name>
      <months:name sequence="03">March</months:name>
      <months:name sequence="04">April</months:name>
      <months:name sequence="05">May</months:name>
      <months:name sequence="06">June</months:name>
      <months:name sequence="07">July</months:name>
      <months:name sequence="08">August</months:name>
      <months:name sequence="09">September</months:name>
      <months:name sequence="10">October</months:name>
      <months:name sequence="11">November</months:name>

      <xsl:output method="text"/>

      <xsl:variable name="newline">
    <xsl:text>
    </xsl:text>
      </xsl:variable>

      <xsl:template match="/">
        <xsl:value-of select="$newline"/>
        <xsl:text>A test of the name() function:</xsl:text>

        <xsl:value-of select="$newline"/>
        <xsl:value-of select="$newline"/>
        <xsl:for-each select="document('')//*">
          <xsl:text>name: </xsl:text>
          <xsl:value-of select="name()"/>
          <xsl:value-of select="$newline"/>
        </xsl:for-each>
      </xsl:template>

    </xsl:stylesheet>
Une fois le document XML transformé à l'aide de la feuille de style, les résultats sont les suivants :
    A test of the name() function:

    name: xsl:stylesheet
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: months:name
    name: xsl:output
    name: xsl:variable
    name: xsl:text
    name: xsl:template
    name: xsl:value-of
    name: xsl:text
    name: xsl:value-of
    name: xsl:value-of
    name: xsl:for-each
    name: xsl:text
    name: xsl:value-of
    name: xsl:value-of