namespace-uri

O URI do namespace de um nó

Descrição

A função fn:namespace-uri devolve a parte de namespace do nome do elemento ou do atributo. É o namespace ligado ao prefixo dele, ou o namespace padrão, se ele não tiver prefixo. Se o nome não estiver num namespace, devolve uma string vazia.

Parâmetros

Descrição

arg:node()

o nó; se omitido, o nó de contexto

Exemplos

Os exemplos abaixo usam este documento de entrada:

<xsl:stylesheet xmlns:pre="http://datypic.com/pre"
                xmlns:unpre="http://datypic.com/unpre">...

<xsl:variable name="in-xml" as="item()*">
  <noNamespace>
       <pre:prefixed xmlns="http://datypic.com/unpre"
                xmlns:pre="http://datypic.com/pre">
         <unprefixed pre:prefAttr="a" noNSAttr="b">123</unprefixed>
       </pre:prefixed>
     </noNamespace>

</xsl:variable>

XPath

Resultado

Explicação

namespace-uri($in-xml)

zero-length xs:anyURI value

O próprio elemento noNamespace.

namespace-uri($in-xml//pre:prefixed)

http://datypic.com/pre

prefixed está no namespace ligado ao prefixo pre.

namespace-uri($in-xml//unpre:unprefixed)

http://datypic.com/unpre

unprefixed está no namespace padrão declarado em prefixed.

namespace-uri($in-xml//@pre:prefAttr)

http://datypic.com/pre

O atributo tem o prefixo pre.

namespace-uri($in-xml//@noNSAttr)

zero-length xs:anyURI value

Atributos sem prefixo não estão em nenhum namespace.

Veja também