Subject: Re: Core ideas behind SGML and XML
From: rpw3@rpw3.org (Rob Warnock)
Date: Tue, 01 Oct 2002 11:08:13 -0000
Newsgroups: comp.lang.lisp
Message-ID: <upj0gtmj628ie5@corp.supernews.com>
Erik Naggum <erik@naggum.no> replied:
+---------------
| [...nicely bulleted list...]
+---------------

Thank you! That was exactly the sort of terse overview I was hoping for.

+---------------
| Things that the SGML community think are important, but which only
| detract from the real issues and confuse people tremendously:
| 
| � attributes to elements, notations, entities.
| � attribute types
+---------------

Well, this list has certainly talked about *that* one enough before.  ;-}
Clearly, since a DTD can specify that some subset of sub-elements (in
arbitrary order) *must* come before all the other permitted sub-elements,
then "attributes" could just as easily be expressed as sub-elements
with restrictions on order, much like declarations and documentation
strings in CL, yes?

+---------------
| | ...verbose way of externally representing (serializing) trees
| | (though not DAGs or more complex structures), and which S-exprs
| | do a much better job of (especially if you allow "#n=" & "#n#" ...)
| 
| The rank incompetence of SGML and XML aficionados has led people to believe
| that the syntax cannot represent anything more complex than simple trees.
| This is just as wrong as claiming that Common Lisp cannot express circular
| lists and other forms of reused objects to preserve identity throughout the
| printed form of a structured.  Using ID and IDREF is exactly analogous to
| using #n= and #n#.
+---------------

Aha! That's what I get for not having read the actual SGML specs, I guess.

+---------------
| (And just as they have special syntax in Common Lisp, they should have
| special syntax in an attribute-free SGML.  It is the only thing that
| /needs/ attributes in the SGML syntax.)
+---------------

I need to think about that one a bit more (and maybe go read some more).
At the moment, it's certainly plausible to me that IDREF might need
special syntax, but it seems like one might to be able to provide ID
(albeit rather awkwardly!) with attribute-free elements [as above].

Anyway, thanks again for the concise summary,


-Rob

-----
Rob Warnock, PP-ASEL-IA		<rpw3@rpw3.org>
627 26th Avenue			<URL:http://www.rpw3.org/>
San Mateo, CA 94403		(650)572-2607