Shape / columns · All operations
Convert a document between formats
A variant of Parse nested values
Turn a JSON, XML, HTML or EDIFACT document into the same content in another of those formats.
Status
- In arcform
Not built yet
arcform does not do this yet. Its place on the roadmap
What other tools call it
Meridian's classification; an independent blind rating agreed on 95.7% of 324 rows (variant, version 3).
Apache Hop (1)
Edi to XMLread 2026-09-27Convert EDIFACT message text to generic XML
KNIME Analytics Platform (2)
JSON to XMLread 2026-09-27Convert JSON values to XML documents
XML to JSONread 2026-09-27Convert XML values to JSON values
Pentaho Data Integration (1)
Edi to XMLread 2026-09-27Convert an Edifact message to XML to ease extraction
RapidMiner Studio (2)
HTML to XMLread 2026-09-27Convert an HTML document into well-formed XML
JSON to XMLread 2026-09-27Convert a JSON document to XML
Talend (1)
tEDIFACTtoXMLread 2026-09-27Convert an EDIFACT message file to XML by EDIFACT version and family
Background
Data conversion is the conversion of computer data from one format to another.[1] XSL Transformations (XSLT) 3.0 defines a mapping from JavaScript Object Notation (JSON) data to Extensible Markup Language (XML).[2] In XSLT 3.0, the json-to-xml function takes a JSON string as input and converts it to the XML representation.[2] In DuckDB, the webbed community extension converts between XML and JSON with xml_to_json and json_to_xml.[3]
When to use it
For XML that does not use XSLT 3.0's XML representation of JSON, XSLT 3.0 offers two routes to JSON: transform it into that representation and call xml-to-json, or write custom template rules.[2] Treat a converter's handling of attributes, repeated elements and mixed text as a convention it chose, and check each one on a sample before relying on the output. (Meridian's view)
JSON parsing libraries have been observed to differ as to whether they make the order of object members visible to the software calling them.[4] Do not rely on member order surviving a conversion unless the converter documents that it keeps it. (Meridian's view) When XSLT 3.0 converts JSON numbers to doubles, very large or very small values become +INF or -INF rather than raising an error, and since JSON sets no limits on range or precision, the conversion is not guaranteed to be lossless.[2]
The method
XSLT 3.0's XML representation of JSON is designed to represent any valid JSON text other than one that uses characters which are not valid in XML.[2] In XSLT 3.0's mapping, distinct JSON texts convert to distinct XML representations.[2] When converting JSON to XML, XSLT 3.0 offers options to reject unsupported characters, to replace them with a substitute character, or to leave them in backslash-escaped form.[2] XSLT 3.0 supplies a stylesheet for converting XML to JSON whose behaviour can be customised, typically by importing it and adding template rules, to handle arbitrary XML input.[2]
XSLT 3.0 became a World Wide Web Consortium (W3C) Recommendation on 8 June 2017.[2]
Sources
- [1]Data conversion - Wikipediasecondary source
- [2]XSL Transformations (XSLT) Version 3.0standard
- [3]webbed – DuckDB Community Extensionsdocumentation
- [4]RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Formatstandard