.. _functx_remove-attributes:
========================
functx:remove-attributes
========================
Removes attributes from an XML element, based on name
Description
~~~~~~~~~~~
The functx:remove-attributes function removes attributes from a sequence of one
or more elements. The $names argument is a sequence of strings that represent
attribute names to remove. Prefixes can (and must) be used in the $names values
for attributes that are prefixed in the input documents (using the same prefix).
You can also specify wildcard values "*", "*:" and ":*" as the second argument.
See the description for functx:name-test for details.
The function does not remove attributes from the descendants of the elements,
just the elements themselves; see functx:remove-attributes-deep for this
purpose.
.. list-table::
:widths: 40 60
:header-rows: 1
* - **Parameters**
- **Description**
* - elements:element()
- the element(s) from which to remove the attributes
* - names:string()
- the names of the attributes to remove, or * for all attributes
Examples
~~~~~~~~
.. list-table::
:widths: 50 50
:header-rows: 1
* - **XPath**
- **Results**
* - functx:remove-attributes($in-xml-1, ('attr1','attr2'))
- abc
* - functx:remove-attributes($in-xml-1, ('attr1','attr3'))
- abc
* - functx:remove-attributes($in-xml-1, '*')
- abc
* - functx:remove-attributes($in-xml-2, ('a:attr1'))
- abc
Depends On
~~~~~~~~~~
* :ref:`functx_name-test`.
See Also
~~~~~~~~
.. toctree::
:titlesonly:
:glob:
* :ref:`functx_remove-attributes-deep`.
* :ref:`functx_add-attributes`.