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-27

    Convert EDIFACT message text to generic XML

KNIME Analytics Platform (2)
  • JSON to XMLread 2026-09-27

    Convert JSON values to XML documents

  • XML to JSONread 2026-09-27

    Convert XML values to JSON values

Pentaho Data Integration (1)
  • Edi to XMLread 2026-09-27

    Convert an Edifact message to XML to ease extraction

RapidMiner Studio (2)
  • HTML to XMLread 2026-09-27

    Convert an HTML document into well-formed XML

  • JSON to XMLread 2026-09-27

    Convert a JSON document to XML

Talend (1)
  • tEDIFACTtoXMLread 2026-09-27

    Convert 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]