Re: Asking for recommendations of xml 2 json open source projects
Peter Flynn <[email protected]> Tue, 24 Jan 2023 12:04:03 +0000
| Newsgroups | gmane.text.xml.devel |
|---|---|
| Organization | Silmaril Consultants |
| Message-ID | <[email protected]> |
On 24/01/2023 02:28, John Cowan wrote: > On Sat, Jan 21, 2023 at 8:05 AM Peter Flynn <[email protected] > 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