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