XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Asking for recommendations of xml 2 json open sourceprojects

On 24/01/2023 02:28, John Cowan wrote:
On Sat, Jan 21, 2023 at 8:05 AM Peter Flynn <peter@silmaril.ie > wrote:

How does it deal with XML-->JSON for deep mixed content? I have TEI
documents with analytic markup, on which the publisher's rendering
and the user's linguistic or semantic analysis depends, nested up
to 10 levels deep. I am under pressure from some quarters to "make
the markup simpler" by using JSON.
Sure, it's straightforward. Each XML element is a JSON array whose
first element is the element name as a JSON string, whose second
element is the attribute mapping as a JSON object, and whose
remaining elements are the content as JSON strings or arrays. The
attribute mapping can be omitted if it is empty.

Thus:

<foo/> => ["foo"]

<foo bar="baz" zam="quux"/> => ["foo", {"bar":"baz", "zam":"quux"}]

<foo>32 <dog/></foo> => ["foo", "32 ", "["dog"]]

<foo bar="baz"><dog zam="quux"/> => ["foo", {"bar":"baz"}, ["dog"",
{"zam":"quux"}]]
Thank you, that's very useful. Here's a line from a poem

<lg n="7" type="quatrain">
<l n="1">
<app>
<rdg wit="H">
<ps>
<fn>
<sic>Chór</sic>
</fn>
</ps>
mh'ainm ann</rdg>
<rdg wit="Eg">Mór m' ainm-si an</rdg>
</app>
gach baile buan.</l>
<l n="2">inghion <ps><fn>Aodha</fn></ps> fa geal gruad</l>
<l n="3"><ps><fn>Sithrioch</fn></ps> mo chéile ann
gach cath.</l>
<l n="4">Mac <ps><fn>Turgeis</fn></ps> na
t-tréan-chreach.</l>
</lg>

The root element type is TEI.2 and the xpointer to the <sic> element is
root.child(1,#element,'TEXT').child(1,#element,'BODY').child(1,#element,'DIV0').child(29,#element,'DIV1').child(6,#element,'LG').child(1,#element,'L').child(1,#element,'APP').child(1,#element,'RDG').child(1,#element,'PS').child(1,#element,'FN').child(1,#element,'SIC')
so the <sic> element is 15 deep in the tree.

What editors and rendering engines would be suitable to replace
oXygen/Emacs and XSLT?

Peter


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS