.. _functx_remove-elements-not-contents:
===================================
functx:remove-elements-not-contents
===================================
Remove elementos XML descendentes, mas mantém o conteúdo deles
Descrição
~~~~~~~~~
A função functx:remove-elements-not-contents remove, pelo nome, elementos
descendentes de todos os nós de $nodes, mas mantém o conteúdo dos elementos
removidos. É útil, por exemplo, para tirar formatação no meio do texto. O
argumento $names é uma sequência de strings com os nomes dos elementos a
remover. Prefixos podem (e precisam) ser usados em $names para elementos que têm
prefixo no documento de entrada. Também dá para usar os curingas "*", "*:" e
":*" no segundo argumento; veja a descrição de functx:name-test.
.. list-table::
:widths: 40 60
:header-rows: 1
* - **Parâmetros**
- **Descrição**
* - nodes:node()
- a raiz ou as raízes de onde começar
* - names:string()
- os nomes dos elementos a remover
Exemplos
~~~~~~~~
Os exemplos abaixo usam este documento de entrada:
.. code-block:: xml
b1
c1
Mixed content
b1
c1
Mixed content
.. list-table::
:widths: 50 50
:header-rows: 1
* - **XPath**
- **Resultado**
* - functx:remove-elements-not-contents($in-xml-1, 'b')
- b1c1 Mixed content
* - functx:remove-elements-not-contents($in-xml-1, ('b','c'))
- b1c1Mixed content
* - functx:remove-elements-not-contents($in-xml-1, 'a')
- b1 c1 Mixed content
* - functx:remove-elements-not-contents($in-xml-2, 'x:b')
- b1 c1 Mixed content
Depende de
~~~~~~~~~~
* :ref:`functx_name-test`.
Veja também
~~~~~~~~~~~
.. toctree::
:titlesonly:
:glob:
* :ref:`functx_remove-elements`.
* :ref:`functx_remove-elements-deep`.