[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