name()-Funktion |
Diese Funktion liefert den qualifizierten Namen eines Knotens. Ein qualifizierter Name umfasst auch das zugehörige Namensraumpräfix. Für Informationen über den Namensraum-URI (nicht das Präfix), stellt XPath die Funktion namespace-uri() bereit.
Eingaben
Eine optionale Knotenmenge. Wird keine Knotenmenge angegeben, erstellt die Funktion eine Knotenmenge, deren einziger Inhalt der Kontextknoten ist.
Ausgabe
Der erweiterte Name des Knotens. Ist die Knotenmenge im Argument leer oder hat der erste Knoten in der Knotenmenge keinen erweiterten Namen, wird ein leerer String zurückgegeben.
Definition
XPath-Abschnitt 4.1, Funktionen auf Knotenmengen
Beispiel
Hier das XML-Dokument, mit dem die Funktion name() demonstriert werden soll:
    <?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>
Das folgende Stylesheet wird dazu verwendet, für jeden Knoten im XML-Dokument den Wert der Funktion name() auszugeben:
    <?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>
Hier das Ergebnis, wenn Sie das XML-Dokument mit diesem Stylesheet transformieren:
    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