functx:remove-elements
Remove elementos filhos de um nó XML, pelo nome
Descrição
A função functx:remove-elements remove elementos filhos dos elementos de $elements. O argumento $names é uma sequência de strings com os nomes dos filhos a remover. Prefixos podem (e precisam) ser usados em $names para elementos que têm prefixo no documento de entrada (com o mesmo prefixo). Também dá para usar os curingas "*", ":" e ":" no segundo argumento; veja a descrição de functx:name-test.
A função não remove todos os descendentes, só os filhos; para remover todos os descendentes com esses nomes, veja functx:remove-elements-deep.
Parâmetros |
Descrição |
|---|---|
elements:element() |
o elemento ou os elementos de onde remover os filhos |
names:string() |
os nomes dos elementos filhos a remover |
Exemplos
Os exemplos abaixo usam este documento de entrada:
<xsl:variable name="in-xml-1" as="item()*">
<in-xml>
<a>123</a>
<a>456</a>
<c>Mixed <b>content</b></c>
</in-xml>
</xsl:variable>
<xsl:variable name="in-xml-2" as="item()*">
<in-xml xmlns:x="http://x">
<a>123</a>
<x:a>456</x:a>
<c>Mixed <x:a>content</x:a></c>
</in-xml>
</xsl:variable>
XPath |
Resultado |
|---|---|
functx:remove-elements($in-xml-1, 'c') |
<in-xml> <a>123</a> <a>456</a> </in-xml> |
functx:remove-elements($in-xml-1, ('a','b')) |
<in-xml> <c>Mixed <b>content</b> </c> </in-xml> |
functx:remove-elements($in-xml-2, 'x:a') |
<in-xml> <a>123</a> <c>Mixed <x:a xmlns:x="http://x">content</x:a> </c> </in-xml> |