xsl-list
[Top] [All Lists]

Re: [xsl] xml vs json

2022-04-16 17:19:18
All these points are valid, but I would add a couple more:

(a) XSLT 3.0 lacks a convenient way of constructing arrays.

(b) Pattern syntax for matching maps and arrays is rather limited compared with 
the syntax for matching nodes. This is partly because JSON lacks any concept 
equivalent to element names in XML: different types of object in JSON are 
identified by their internal structure, not by name.

(c) The data model for JSON lacks a parent/ancestor axis, which means that 
template rules can't access information from outer containers; instead all the 
information required has to be passed down using parameters (typically tunnel 
parameters). A further complication is that parameter values can't be accessed 
in match patterns, so template rules cannot match content in a 
context-sensitive way.

As for your specific question, I published a couple of use cases for JSON 
transformations at XML Prague 2016 
(https://www.saxonica.com/papers/xmlprague-2016mhk.pdf) and you may find these 
helpful. I can probably dig out the actual files I used if you are interested.

Michael Kay
Saxonica

On 16 Apr 2022, at 21:54, Vladimir Nesterovsky 
vladimir(_at_)nesterovsky-bros(_dot_)com 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

Let's assume you're agnostic regarding input and output formats, so you're 
ready to work either with xml or with logically equivalent json input and 
output data.

Then we have a question: how xslt processing will compare for two logically 
equivalent pipelines: where one deals with xml, and other with json?

We have several hypotheses that hint on advantage of json, like:
json is lighter than xml to serialize and deserialize;
json stored as map(*), array(*) and other item() are lighter than node() at 
runtime, in particular subtree copy has zero cost in json;
templates with match patterns to some extent can be efficiently implemented 
for maps using lookups of functions;
To prove anything we need to commit an experiment (we're going to use Saxon 
as engine).

So, our question to the community: is there an isolated small representative 
xslt around xml (along with xml files) for us to use as a model to build 
equivalent xslt around json?

Thanks
--
Vladimir Nesterovsky
 
XSL-List info and archive <http://www.mulberrytech.com/xsl/xsl-list>
EasyUnsubscribe <http://lists.mulberrytech.com/unsub/xsl-list/293509> (by 
email <>)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>
  • [xsl] xml vs json, Vladimir Nesterovsky vladimir(_at_)nesterovsky-bros(_dot_)com
    • Re: [xsl] xml vs json, Michael Kay mike(_at_)saxonica(_dot_)com <=