fn:json-to-xml

Parses a string supplied in the form of a JSON text, returning the results in the form of an XML document node.

json-to-xml($json-text as xs:string?) ➔ document-node()?

Arguments

 

$json-text

xs:string?

The JSON input text

Result

document-node()?

json-to-xml($json-text as xs:string?, $options as map(*)) ➔ document-node()?

Arguments

 

$json-text

xs:string?

The JSON input text

 

$options

map(*)

Used to control the way in which parsing takes place

Result

document-node()?

Namespace

http://www.w3.org/2005/xpath-functions

Links to W3C specifications

XPath 3.1 Functions and Operators

Saxon availability

Available in XPath 3.1, XSLT 3.0, and XQuery 3.1. Available in all Saxon editions. Implemented since Saxon 9.7.

Notes on the Saxon implementation

Available since Saxon 9.7. The parsing options recognized are 'liberal':true()|false(), 'duplicates':'reject'|'use-first'|'retain', 'validate':true()|false(), 'escape':true()|false(), 'fallback':(function). For full details see the specification. Use of the fallback option requires Saxon-PE or Saxon-EE.

For the effect of the option liberal=true(), see parse-json().

The Saxon implementation also offers an additional option: 'number-parser' : xs:decimal#1 causes number values in the source JSON to be delivered as xs:decimal values rather than xs:double. This is useful where the values require higher precision than xs:double retains. It is also possible to return the string value as written using the option 'number-parser' : xs:string#1. In general, the value of the option is any function that takes as input the string value as written, and that delivers an atomic value containing the desired representation of the number.

See also:

fn:parse-json()

fn:json-doc()

fn:xml-to-json()