From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!news-peer-europe.sprintlink.net!news.stupi.se!newsfeed1.ulv.nextra.no!nextra.com!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: Core ideas behind SGML and XML Date: 01 Oct 2002 13:20:50 +0000 Organization: Naggum Software, Oslo, Norway Lines: 42 Message-ID: <3242467250693615@naggum.no> References: <3242307898188612@naggum.no> <3242389243622740@naggum.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: maud.ifi.uio.no 1033478451 22992 129.240.65.5 (1 Oct 2002 13:20:51 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 1 Oct 2002 13:20:51 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:42617 * Rob Warnock | Thank you! That was exactly the sort of terse overview I was hoping for. Happy to oblige, but I think I should whip up a web page on this now that I think I got it reasonably right. The standing-on-one-leg stunt is hard. | 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? There is a crucial difference between attributes and subelements today that needs to be taken care of in an attribute-free SGML. Attributes are local to their element and therefore can be the same name as an element. They could also differ in type from element to element, which translates to a different content model or notation as an element. | | 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. But you may need to know #n= and #n# and that they are analogous to see this because the application gets to maintain its own table of IDs and map the IDREFs back to them, which is kind of unfortunate. Grasping that this can be used for circular structures is apparently hard for SGMLers when they have only learned to think of them in "See Figure 1" terms. | 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]. One curious effect of moving from attributes to elements is that quite often, the best design is to let the attribute become a superelement instead of a subelement. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.