[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: JSON to XML using XSLT 3.0 representation

Subject: Re: JSON to XML using XSLT 3.0 representation
From: "Martynas Jusevičius martynas@xxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 13 Jul 2020 15:26:37 -0000
Re:  JSON to XML using XSLT 3.0 representation
Hi,

sure enough I hit one of the 0.1% cases in the conversion :) Namely
the form feed char being present in the JSON which produced form feed
in the XML output which is not well-formed XML 1.0.

I've released JSON2XML version 1.0.5 which attempts to address this
issue by doing the default replacement of invalid characters to the
REPLACEMENT CHARACTER (xFFFD), as specified by the json-to-xml()
function.

Could you please take a look at the replacement code (copy-pasted from
StackOverflow :)) - does it look reasonable?
https://github.com/AtomGraph/JSON2XML/blob/master/src/main/java/com/atomgraph
/etl/json/JsonStreamXMLWriter.java#L237


On Wed, Mar 27, 2019 at 12:54 AM Michael Kay mike@xxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> Nice.
>
> You're not handling the edge cases such as duplicate keys, characters
invalid in XML, unpaired surrogates, etc, but I should think that's OK 99.9%
of the time.
>
> Being able to write to a SAX ContentHandler might be more versatile than a
StAX XMLStreamWriter, since there are probably more things prepared to take
input from a SAX source without having to serialize the XML first.
>
> Michael Kay
> Saxonica
>
> > On 26 Mar 2019, at 22:55, Martynas JuseviD
ius martynas@xxxxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > Hi all,
> >
> > I wanted to share a small utility I've created for our XML pipeline:
> > https://github.com/AtomGraph/JSON2XML
> >
> > It is a streaming JSON to XML converter. It reads any JSON data and
> > produces XML Representation of JSON specified in XSLT 3.0 [1].
> >
> > JSON2XML enables JSON transformation with XSLT even without having an
> > XSLT 3.0 processor. You can simply pre-process the data by having
> > JSON2XML before the transformation, and pipeline it into an XSLT 2.0
> > stylesheet, for example. That way your stylesheet stays forward
> > compatible with XSLT 3.0, as the XML representation is exactly the
> > same.
> >
> > Admittedly I haven't done much testing, but I'm going to put into use
> > next month. The sample from the specification works :) The conversion
> > code is quite straightforward.
> >
> > Also planning to create a Docker container out of it.
> >
> > Feedback and pull requests are welcome.
> >
> > [1] https://www.w3.org/TR/xslt-30/#json-to-xml-mapping
> >
> > Martynas
> > atomgraph.com

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.