- From: <lee@sq.com>
- Date: Fri, 27 Jun 97 23:48:44 EDT
- To: w3c-sgml-wg@w3.org
Rick Jelliffe <ricko@allette.com.au> wrote: >> TIM BRAY: Why, historically, was the value of an ID restricted to > Name? > Because people use the Reference Concrete Syntax. Er, no, you are answering the wrong question, I think. My guess for Tim and Debbie would be this: Recall that the writers of the SGML standard actually thought that NAMELEN would improve implementations... SGML was written in a culture of what now seem to be very small computers, and placing arbitrary limits on things reduced memory requirements. An ID attribute is a NAME, and hence can only contain NAME characters. In other words, SGML conflates the concepts of uniqueness and data type. One can imagine a language (to borrow terminology) in which one could write: <!AttList Boy SocialSecurityID NAME (#REQUIRED, NAMESPACE SocialSecurityID) FullName CDATA (#REQUIRED, NAMESPACE Boy/FullName) > to mean that all the boys have to have distinct SocialSecurityIDs, and that these must be unique on all elements bearing attributes so named, and that boys' names must also be unique, but don't conflict with NAME attributes on other elements. Obviously if you can check that NAMEs are unique, you can check that other strings are unique. Case folding and the baroque SGML type system are parts of a sad legacy that we must retain, I suspect. Lee -- Liam Quin | lq-text freely available Unix text retrieval Unemployed SGML consultant | FAQs: Metafont fonts, OPEN LOOK UI, OpenWindows liamquin@interlog.com | xfonttool (Unix xfontsel in XView) +1 416 594 9646 (home) | the barefoot programmer
Received on Friday, 27 June 1997 23:48:48 UTC