Fonction namespace-uri() |
Renvoie l'URI d'espace de noms du premier nœud de l'ensemble de nœuds de l'argument.
Entrées
Un ensemble de nœuds. Si l'ensemble de nœuds a été omis, la fonction namespace-uri() crée un ensemble de nœuds ayant pour seul membre le nœud de contexte.
Sortie
L'URI d'espace de noms du premier nœud de l'ensemble de nœuds de l'argument. Si l'ensemble de nœuds est vide, si le premier nœud ne possède pas d'URI d'espace de noms ou si l'URI d'espace de noms du premier nœud est nul, une chaîne vide est renvoyée. Notez que la fonction namespace-uri() renvoie une chaîne vide pour tous les nœuds autres que les nœuds d'élément et d'attribut.
Définie dans
XPath section 4.1, Fonctions Ensemble de nœuds.
Exemple
La feuille de style suivante utilise la fonction document() pour examiner ses propres nœuds puis invoquer la fonction namespace-uri() pour chacun d'eux :
    <?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>
Les résultats sont les suivants :
    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