functx:remove-attributes-deep
Removes attributes from an XML fragment, based on name
Description
The functx:remove-attributes-deep function removes attributes from a sequence of elements and all of their descendants. 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. You can also specify wildcard values “*”, “:” and “:” in the second argument. See the description for functx:name-test for details.
Parameters |
Description |
---|---|
nodes:node() |
the root(s) to start from |
names:string() |
the names of the attributes to remove, or * for all attributes |
Examples
XPath |
Results |
---|---|
functx:remove-attributes-deep($in-xml-1, (‘attr1’,’attr2’)) |
<a> <b>abc</b> </a> |
functx:remove-attributes-deep($in-xml-1, (‘attr1’,’attr3’)) |
<a attr2=”456”> <b>abc</b> </a> |
functx:remove-attributes-deep($in-xml-2, ‘a:attr1’) |
<a attr1=”456”> <b attr1=”xzy”>abc</b> </a> |