- From: Andrew Layman <andrewl@microsoft.com>
- Date: Tue, 3 Jun 1997 10:48:46 -0700
- To: w3c-sgml-wg@w3.org
Regarding the proposal to make schema references a special kind of link, I applaud the intention of seeking unification where ever possible, but on this particular application I conclude that the attempted unification is the opposite of what is needed. A namespace import frequently contains a link, but is not a link. With thanks to James Clark for clarifying these distinctions to me, there are three issues that need to be solved when introducing namespaces: 1. Signalling what namespace an element type is in (the colon stuff). 2. Giving the element a precise name, in the IETF URI namespace. (This is the principal function of the URI of the namespace. It not only gives a precise name to the space, but locates every element name within that space as a URI itself.) 3. Linking to the schema or whatever defines the namespace. (A document, possibly at an entirely different address than the URI of issue 2.) Actually, only the first two are needed to disambiguate names and integrate them into the IETF naming system. The third (reference to a schema doc) is an additional feature that permits all of the useful things that DTDs support, such as validation. The first two are necessary for a well-formed document with namespaces; the third is needed to validate it. So, the crucial issue is not a link to an external document, but association of a namespace's local name (short prefix) with a full URI delimiting a region of URI space. This is not, per se, a link to an external document. In fact, there may not be an external document. Consider also the precedent this would set. In effect, this proposal says: "Here is a reference to a point in URI space. It shares some characteristics with links in general, such as that they both contain URIs, they both have attributes, etc. This one has particular semantics. So, let's capture the semantics with a series of special attributes of the link." By that reasoning, any element that has some characteristics of a link, including merely containing a link, should instead be expressed as a link with reserved attributes. This spreads the non-link information over several attributes, making management difficult since it breaks what is conceptually a single unit into an un-validatable collection of attributes (unvalidatable in the sense that no DTD can express anything but the most primitive rules for their presence). Nor is it generally extensible: What is the extensibility mechanism if we discover in six months that a namespace import needs more information, and that information is structured and thus cannot be expressed as an attribute. What is the mechanism by which authors could add their own link types, with validation? Finally, and to return the the point that a namespace is not a link to a document, we see from an XML document's InternalSubset of the DTD the necessity of having certain schema information in the document, not in an external resource. Given that we value having validatablity, we will want this DTD information, not all of which is always external. Phrased differently, a namespace's definition (DTD) will frequently, but not always, contain all its contents in an external file. Sometimes vital contents will be inline. A namespace import frequently contains a link, but is not a link. --Andrew Layman AndrewL@microsoft.com > -----Original Message----- > From: Tim Bray [SMTP:tbray@textuality.com] > Sent: Tuesday, June 03, 1997 5:19 AM > To: w3c-sgml-wg@w3.org > Subject: RE: Thoughts on namespaces > > All of the namespace proposals have to solve two problems: > > 1. linking to the schema or whatever defines the namespace, and > 2. signalling what namespace an element type is in (the colon stuff). > > For #1, we've had proposals for using elements and PI's and weird new > marked section-like syntax. Despite the fact that the problem has > "link" in its name. This could obviously done with xml-link given > a reserved role like > <x XML-link="extended" role="xml-namespace" href=".." > short-prefix=".."/> > > Given that it can be, it should be. Why not? -Tim >
Received on Tuesday, 3 June 1997 13:49:17 UTC