- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Tue, 19 Nov 2002 12:43:53 +0200
- To: "ext Paul Prescod" <paul@prescod.net>, "Miles Sabin" <miles@milessabin.com>
- Cc: "WWW-Tag" <www-tag@w3.org>
----- Original Message ----- From: "ext Paul Prescod" <paul@prescod.net> To: "Miles Sabin" <miles@milessabin.com> Cc: "WWW-Tag" <www-tag@w3.org> Sent: 18 November, 2002 18:50 Subject: Re: Let's get some principles nailed down > > Miles Sabin wrote: > > > The documentation for a function in a programming language should tell > > you what it does and what it's for. A namespace doesn't _do_ anything > > and it's _for_ disambiguating names ... which is documented perfectly > > adequately in the Namespaces REC > > Every particular namespace is "for" something in particular. XHTML is > for hypertext, MathML for mathematics, SVG for scalable graphics, RDF > for resource descriptions, etc. Actually, this is not correct. "XHTML" has one namespace but four models. "RDF" has two namespaces but one model. Yes, it is true that, as a convenience, folks tend to use the same namespace for all terms relevant to a given model, but that is a matter of coincidence and not a characteristic of the architecture. See below... > > I _might_ choose to impose additional semantics on my namespaces, in > > which case I agree that I SHOULD document those semantics. But if I > > don't impose additional semantics then there's nothing to be > > documented. > > Can you point me to a useful, real-world namespace with no additional > semantics? If not, then there is nobody who would feel compelled to > provide documentation when it isn't appropriate. Anyhow, SHOULD means > should. Nobody will be forced to provide referents. Namespaces do not bear semantics. Terms bear semantics, and it is common practice, and convenient, to ground related terms in the same namespace. But it is not the namespace itself that is asserting any semantics whatsoever. The namespace is just punctuation. It is just a mechanism to ensure that terms are globally distinct. One could define a vocabulary where each and every term is grounded it its own separate namespace and XML and RDF applications *should* work just as well as if all terms were grounded in a single namespace. And as has been pointed out, there is no 1:1 correlation between namespace and model, namespace and schema, namespace and functional vocabulary, etc. etc. etc. Forgive me for being direct, but those who believe that the "XHTML namespace" means something in terms of a single XHTML content model are either mistaken or in denial. There are three content models defined by XHTML 1.0 and one by XHTML 1.1 which utilize the same terms grounded in the same namespace "http://www.w3.org/1999/xhtml" and those content models disagree about what the semantics of some of those terms are. Clearly, the namespace itself is not asserting what the terms mean. Eh? It is the content models which assign the semantics. An application which has http://www.w3.org/1999/xhtml#html doesn't have the first clue what that term means, and a "namespace document" encoded in RDDL is not going to help it know what to expect as the children of the element so named. Namespaces are just punctuation, which partition local names into sets, and the *only* valid representation of a namespace is a listing of that set of names. There is *no* additional semantics inherent in the namespace and "namespace documents" such as proposed for RDDL, however convenient, are breaking the rules of the Web as they are not valid representations as they introduce semantics into a representation which the namespace itself does not have. I'm sure we are (mostly) all in agreement that any given URI, if it dereferences at all to some resource, resolves to a representation of the resource denoted by the URI, right? Well, if a namespace URI denotes the namespace, then *all* a representation can embody is that set of names. The representation should not include knowledge not inherent in the resource itself, such as any semantics attributed to a name in that namespace by some external model. The W3C/TAG should work at solving the real problem, which is the explicit association in the markup of the instance itself of specific instances to the models they are intended by the content creator to conform to, the URIs of those models independent of namespace URIs, and the relation of those models to resources relevant to the processing of instances in terms of those models such as various schemas, style sheets, etc. Yes, RDDL contains most of that, but it's being hung off the wrong hook. RDDL instances as "namespace documents" is a hack that is contrary to the Web architecture, as those documents are not valid representations of the namespaces from which they are retrieved. XML should be fixed to allow the explicit declaration of content models to which the instance conforms. As the XHTML example shows, the qname of the root element doesn't provide that, and it is this fallacy upon which the RDDL approach is based, and thus is broken from the start. Regards, Patrick [Patrick Stickler, Nokia/Finland, (+358 40) 801 9690, patrick.stickler@nokia.com]
Received on Tuesday, 19 November 2002 05:43:56 UTC