Skip to content

Latest commit

 

History

History
51 lines (35 loc) · 940 Bytes

nameshave.md

File metadata and controls

51 lines (35 loc) · 940 Bytes

nameshave Action

The nameshave action removes all namespaces from an XML document.

Syntax

<nameshave in="$xml_with_namespaces" out="$no_more_namespaces"/>

Usage

Stripping namespaces allows for easy access to XML elements and attributes in a JSON template.

Example

Input:

<root xmlns="http://example.com/ns/2019/1" xmlns:side="http://example.com/ns/2019/2">
  <a>catch me </a>
  <side:a>if you can!</side:a>
</root>

Output:

<root>
  <a>catch me </a>
  <a>if you can!</a>
</root>

Caution

Removing namespaces is prone to ambiguity. The origin of elements carrying the same local name will be lost (see the example above).

Attributes originally in different namespaces sharing the same local name will silently override each other:

<root side:prop="1st" prop="last" xmlns:side="http://example.com/ns/2019/1"/>

becomes

<root prop="last"/>