[e-lang] XML support in E

Kevin Reid kpreid at mac.com
Tue Jan 12 15:11:35 PST 2010


On Jan 12, 2010, at 17:34, Mark Miller wrote:

> I have become ever more attracted to JsonML <http://jsonml.org/> as  
> a way to handle XML data. Since E's term trees already handle JSON,  
> I suggest using the JsonML mapping of XML data into JSON structures.  
> I suggest we would then have no need for an XML quasi-parser. We  
> could just use the term tree quasiparser in quasi-JsonML format, to  
> manipulate XML trees as translated to JsonML structures. Even for  
> text markup, which is the best case for the XML vs JsonML  
> comparison, I still find JsonML notation more readable than XML.

Against JsonML:

* I do not see a specification for JsonML; not even as much of one as  
JSON started with.

* It does not appear to have any handling of XML namespaces; this is  
fatal. The programmer must not be required to manually manage prefix  
declarations inside of XML tree-composing code or they will get it  
wrong (or have to think hard about issues that the software could be  
handling for them).

* The point of JsonML as described is to handle XML documents as  
native JavaScript values; in that case, we might as well use E lists  
and maps, rather than the double-embedding inside the JSON subset of  
term-trees.

For having an XML quasiparser:

* I disagree regarding readability, at least in that I want to have  
the choice of either notation.

* E's goals of robustness and security suggest that we should provide  
facilities which are attractive safe substitutes for plain-text string  
interpolation. Having an XML quasiparser means that it is *trivial* to  
write xml`<title>$docTitle</title>` instead of `<title>$docTitle</ 
title>` and get “XSS”/“injection” “protection”, even if the programmer  
knows nothing of the details of the XML tree representation.

-- 
Kevin Reid                                  <http://switchb.org/kpreid/>






More information about the e-lang mailing list