functx:change-element-ns-deep

Muda o namespace de elementos XML e dos descendentes deles

Descrição

A função functx:change-element-ns-deep muda o namespace dos elementos XML de $nodes para $newns. Ao contrário da functx:change-element-ns, ela muda também o namespace de todos os elementos descendentes.

Parâmetros

Descrição

nodes:node()

os nós a alterar

newns:string()

o novo namespace

prefix:string()

o prefixo a usar para o novo namespace

Exemplos

Os exemplos abaixo usam este documento de entrada:

<xsl:variable name="in-xml" as="item()*">
  <bar:a xmlns:bar="http://bar">
     <bar:b>557</bar:b>
     <bar:c>xyz</bar:c>
  </bar:a>
</xsl:variable>

XPath

Resultado

functx:change-element-ns-deep($in-xml, 'http://foo','')

<a xmlns="http://foo"> <b>557</b> <c>xyz</c> </a>

functx:change-element-ns-deep($in-xml, 'http://foo','foo')

<foo:a xmlns:foo="http://foo"> <foo:b>557</foo:b> <foo:c>xyz</foo:c> </foo:a>

Veja também