namespace-uri()-Funktion |
Diese Funktion liefert den Namensraum-URI des ersten Knotens der Knotenmenge im Argument.
Eingaben
Eine Knotenmenge. Wird keine Knotenmenge angegeben, verwendet die Funktion namespace-uri()eine Knotenmenge, deren einziger Inhalt der Kontextknoten ist.
Ausgabe
Der Namensraum-URI des ersten Knotens der Knotenmenge im Argument. Wenn die Knotenmenge im Argument leer ist, der erste Knoten keinen Namensraum-URI besitzt oder der erste Knoten einen Namensraum-URI mit dem Wert Null besitzt, wird ein leerer String zurückgegeben. Beachten Sie, dass die Funktion namespace-uri() für alle Knoten, die keine Element- oder Attributknoten sind, ebenfalls einen leeren String zurückgibt.
Definition
XPath-Abschnitt 4.1, Funktionen auf Knotenmengen
Beispiel
Hier ein Stylesheet, das die Funktion document() verwendet, um seine eigenen Knoten zu untersuchen, und dann für jeden dieser Knoten die Funktion namespace-uri() aufruft.
    <?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="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>
      <months:name sequence="12">December</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 namespace-uri() function:</xsl:text>

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

    </xsl:stylesheet>
Hier die Ergebnisse der Transformation:
    A test of the namespace-uri() function:

    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: Lookup table for month names
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform
    namespace URI: http://www.w3.org/1999/XSL/Transform