Re: [xsl] XSLT code for XML to JSON conversion?

Subject: Re: [xsl] XSLT code for XML to JSON conversion?
From: "O'Neil Delpratt oneil@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Dec 2019 10:11:44 -0000
Hi,

Saxon on the Java Platform would work fine on the command-line, but as Liam
said you have the Java runtime startup.

Alternatively Saxon/C could equally fit your requirements. It is cross
compiled to native library, which can be run on the command-line using C/C++.
Saxon/C also comes with Python extension API.

kind regards,

O'Neil


> On 12 Dec 2019, at 22:37, Steven D. Majewski steve.majewski@xxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> There are also non XSLT converters that use SAX: read XML and serialize out
as JSON.
>
> There are several node-js packages.
> Python xmljson. https://pypi.org/project/xmljson/
<https://pypi.org/project/xmljson/> supports several different JSON encoding
conventions.
>
> And Ibm sure many others.
> ( Ibve used the Python package, but not for any large projects.  )
>
> b Steve.
>
>
>> On Dec 12, 2019, at 5:09 PM, Liam R. E. Quin liam@xxxxxxxxxxxxxxxx
<mailto:liam@xxxxxxxxxxxxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx
<mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>> wrote:
>>
>> On Thu, 2019-12-12 at 21:32 +0000, Richard Fozzard
>> richard.fozzard@xxxxxxxx <mailto:richard.fozzard@xxxxxxxx> wrote:
>>> Hi Folks,
>>>
>>> We're looking to do conversion of relatively complex XML (i.e.
>>> namespaces, attributes, repeating elements, xlinks) into JSON from
>>> the
>>> Unix command line to build a web page. We've  used the XML to JSON
>>> feature in the Oxygen Developer tool, and it works well, but that's
>>> a
>>> GUI, not a command line tool.
>>
>> It's probably using XSLT under the hood, with a stylesheet that's
>> usable e.g. with Saxon. You do pay the penalty of Java runtime startup,
>> though.
>>
>> Note also that XSLT 3 includes a standard function to produce JSON; see
>> https://www.w3.org/TR/xpath-functions-31/#json-to-xml-mapping
<https://www.w3.org/TR/xpath-functions-31/#json-to-xml-mapping>
>>
>> So you could just use xml-to-json() in XSLT. You may need Saxon EE for
>> that, i'm not sure offhand.
>>
>> Of course, you could also just send XML to the Web client; what you are
>> doing by using a complex transformation into JSON is moving the
>> complexity from one developer to another. You could also generate HTML
>> on the server, whic might make it easier to meet 508/WCAG requirements
>> :)
>>
>> Liam
>>
>> --
>> Liam Quin, https://www.delightfulcomputing.com/
>> Available for XML/Document/Information Architecture/XSLT/
>> XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
>> Barefoot Web-slave, antique illustrations:  http://www.fromoldbooks.org
>>
>
> XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
> EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/1363285> (by
email <>)

Current Thread