Predictable mapping
The JSON must contain exactly one root element. Arrays create repeated XML elements, @ keys become attributes and #text becomes element text.
Bounded and defensive
Input is limited to 10 MB, output structure to 100,000 elements and 128 nesting levels. Invalid XML names and non-scalar attribute/text values are rejected.