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.
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
XPath |
Results |
---|---|
functx:remove-attributes($in-xml-1, (‘attr1’,’attr2’)) |
<a>abc</a> |
functx:remove-attributes($in-xml-1, (‘attr1’,’attr3’)) |
<a attr2=”456”>abc</a> |
functx:remove-attributes($in-xml-1, ‘*’) |
<a>abc</a> |
functx:remove-attributes($in-xml-2, (‘a:attr1’)) |
<a attr1=”456”>abc</a> |