- From: Rick Jelliffe <ricko@allette.com.au>
- Date: Wed, 11 Jun 1997 21:37:31 +1000
- To: <w3c-sgml-wg@w3.org>
(This post is about whether notations are types, and whether notations are namespaces. Also, the WebSGML TC SEEALSO parameter is discussed.) Andrew Layman writes: > Notations suffer from a few problems from our point of view, and that is > that they apply only to external entities, and types useful for routine > data processing as types such as INTEGER or DATE are not standardized. > The concepts are very similar, and maybe we can extend the idea of > notation to cover element contents. Let me repeat my mantra, as is my compulsion: I think many of the less-used parts of SGML are merely inadequately powerful or underdefined, not wrongheaded. One of notation's problem is that there is no ability to cascade notations: eg we could enhance SGML to allow: <!notation SGML system> <!notation MINIMUM-LITERAL system uses SGML> <!notation DATE public "ISO ???" uses MINIMUM-LITERAL> <!notation DATE-THIS-CENTURY "http://www.libary.xx/date-definitions.htm#this-cent" uses DATE> <!element date (#pcdata)> <!attlist date XML-NOTATION notation #fixed "DATE-THIS-CENTURY"> Nor is there a way to construct notations from notations: <!notation SGML public "ISO/IEC 8879:1986 (WWW+ENR)"> <!notation XML-LANG public "IDN//W3.ORG//NOTATION XML-lang 1.0//EN" uses SGML> <!notation DSSSL public "ISO/IEC 10179..."> <!notation XS public "IDN//W3.ORG//NOTATION XML-style 1.0//EN" uses DSSSL> <!notation XML system uses XML-LANG XML-STYLE> The above illustrate a syntax for backward-chaining notations. A forward variant on this can be found in the WebSGML TC, in the "additional requirements" parameter that is being proposed for the SGML declaration. This is lets you (after the keyword SEEALSO) list a series of public identifiers to external notations (plain language documents) identifying additional requirements on the document, in addition to the SGML requirements (and perhaps constraining the syntax). The example proposed (Annex L) is a small document giving XML-lang v.1.0 additional requirements. Not only does this make XML-lang an (informative) part of ISO 8879, it also allows SGML documents to add notations to note that the maximum number of columns in a table shouldn't violate the number in the relevant attribute, or to define that XML-LINK is an architectural form with a particular meaning. What we see in XML is that things have at least a chain of notations, and for any given processor, there are different parts that must be valid and parts that do not need to be validated. The SEEALSO parameter leaves it up to implementors to decide what level of validation is required: it just makes sure the information is present in the SGML declaration to inform software or humans about the non-SGML conventions present in the document. Where this is leading, therefore is that I think XML should allow NOTATIONS attributes on elements (with architectural form XML-NOTATIONS or XML-TYPE), and NOTATION declarations, and that NOTATION declarations should have something that allows them to chain (e.g. "USES"). Furthermore, it should allow (with the appropriate changes to ISO 8879) a SEEALSO parameter on the DOCTYPE declaration, to declare notations that together convert the element set declarations into a DTD (document type definition). E.g: <!DOCTYPE record SYSTEM "x.xml" SEEALSO "IDN//W3C.ORG//NOTATION XML 1.0" "IDN//W3C.ORG//NOTATION PICS" "IDN//W3C.ORG//NOTATION DIGS" [...]> I can't see that this has much to do with namespaces, except that there is the chance that two DTD fragments might have notation declarations with the same name and need disambiguating. Rick Jelliffe
Received on Wednesday, 11 June 1997 07:42:33 UTC