.. _functx_change-element-names-deep: ================================ functx:change-element-names-deep ================================ Muda os nomes de elementos de um fragmento XML Descrição ~~~~~~~~~ A função functx:change-element-names-deep muda os nomes dos elementos que estão em $nodes ou entre os descendentes deles, a partir de uma lista de nomes antigos ($oldNames) e de uma lista de nomes novos ($newNames). As listas andam por posição: o primeiro nome de $oldNames vira o primeiro nome de $newNames. Nomes que não estão em $oldNames não mudam. Cada nome precisa ser um valor xs:QName. QNames podem ser construídos com o construtor de tipo xs:QName ou com a função fn:QName, como nos exemplos. .. list-table:: :widths: 40 60 :header-rows: 1 * - **Parâmetros** - **Descrição** * - nodes:node() - o elemento ou os elementos a alterar * - oldNames:string() - a sequência de nomes antigos * - newNames:string() - a sequência de nomes novos Exemplos ~~~~~~~~ Os exemplos abaixo usam este documento de entrada: .. code-block:: xml ... b c b c .. list-table:: :widths: 50 50 :header-rows: 1 * - **XPath** - **Resultado** * - functx:change-element-names-deep($in-xml-1, xs:QName('b'), xs:QName('y')) - b c * - functx:change-element-names-deep($in-xml-1, (xs:QName('a'), xs:QName('b'),xs:QName('c')), (xs:QName('x'), xs:QName('y'),xs:QName('z'))) - b c * - functx:change-element-names-deep($in-xml-2, (xs:QName('dty:b'),xs:QName('c')), (xs:QName('q'), QName('http://new','new:c'))) - b c Depende de ~~~~~~~~~~ * :ref:`functx_if-empty`. Veja também ~~~~~~~~~~~ .. toctree:: :titlesonly: :glob: * :ref:`functx_change-element-ns`. * :ref:`functx_change-element-ns-deep`.