[E-Lang] Kernel-E in Minimal-XML
Mark S. Miller
markm@caplet.com
Mon, 02 Oct 2000 14:24:30 -0700
The Kernel-E pages http://www.erights.org/elang/kernel/index.html have been
updated to represent Kernel-E in the Minimal-XML subset of XML. The DTD
http://www.erights.org/elang/kernel/kernel-e-0.8.9e.dtd has been updated as
well, even though Minimal-XML has no DTD. It still seems like a good idea
to write an XML DTD that explains a given use of Minimal-XML, and allows it
to be checked when submitted to a full-XML processor.
The qdom package
http://www.erights.org/javadoc/org/erights/xml/qdom/package-summary.html is
now less than 1/4 its previous size, as it now only needs to represent
Minimal-XML. This stuff actually is minimal enough to be good. It even
left some things out that I would have kept! (Mixed content, comments,
maybe DTDs, maybe attributes). The XML spec weighs in at 32 pages, whereas
the Minimal-XML spec, at about the same point size and level of detail,
weighs in at 4 pages.
Shifting to Minimal-XML also forced me to change to the style Jonathan
advocates: using elements rather than attributes for semantic content, since
Minimal-XML has no attributes, and Kernel-E has nothing but semantic content.
Open issues:
How to generalize the QDOM classes to represent quasi-literal Minimal-XML
expressions and patterns?
How to represent source-position information? (Since we'll be using this as
our universal parse-tree and quasi-parse-tree representation.)
How to turn literal character data (as in a literal String) into the text
between tags so that it is XML-processed back into the original data? (I'm
sure it's a trivially solved problem. We just need to find the solution.)
What (quasi-)parser to use? Current candidates are to adapt MinML, to
wait for Monty's fixes to ANTLR, or to just write a Minimal-XML quasi-parser
by hand.
Is Minimal-XML really a downward compatible subset of XML (as they claim) or
(as I suspect) do we need to identify and restrict ourselves to the
intersection of these two standards?
Should ERights.org "endorse" Minimal-XML? What would this mean? Would
anyone care? Are there any downsides?
And then there are all those questions about representing serialized object
graphs.