- From: Paul Prescod <paul@prescod.net>
- Date: Sun, 17 Feb 2002 15:09:56 -0800
- To: "Simon St.Laurent" <simonstl@simonstl.com>
- CC: XML DEV <xml-dev@lists.xml.org>, TAG <www-tag@w3.org>
"Simon St.Laurent" wrote: > > ... > > We're stuck with namespaces tacked on to XML 1.0, along with a lack of > understanding on how best to work with namespaces and URIs. I put the blame squarely on namespaces, not URIs. When namepaces where invented there were two duelling philosophies, just as there were when XML was invented. One was that namespaces are just a syntactic trick for uniquifying names and they don't "mean anything", (just as XML was just syntax and it didn't "mean anything"). The other view was that namespaces are, in and of themselves, things with identity and thus some meaning and internal structure. (and that XML had a latent data model that roughly corresponded to SGML's ESIS) In both cases it was decided to ignore the semantics and concentrate on the syntax. In both cases it came back to bite us in the end. XML APIs and query languages could not get away without thinking about semantics so they ran off in different, sometimes incompatible directions, for both XML and namespaces. The XSLT view of namespaces is that they are purely labels that have no intrinsic meaning. They can therefore be used as a short-form for literal result elements. Sure, the original namespace designer may not have intended them to be used that way but nobody owns the "meaning" of punctuation! The RDDL view is that they DO have identity, meaning and structure and can thus have schemas and stylesheets associated with them. It's a little bit weird to associate stuff with them without describing their internal structure but that's just part of the confusion. Maybe the internal structure of namespaces can be described as a 1-tuple where the only member is the namespace name. One view or the other needs to be standardized. If namespaces are NOT things with identity and internal structure (i.e. they are just punctuation) then we should never have used URIs to refer to them. Obviously most people DO think of them as "things." If this view is to be standardized then we need to formally define the internal structure of namespaces and their interactions. Part of the reason for avoiding this was so that it would be possible to process documents with multiple namespaces without doing a network fetch to find out anything about the internal structure of those namespaces. But it only makes sense to process a namespace without one of a) some a priori knowledge of it (in which case the web hit is not necessary) or b) some kind configuration file *IF* you presume that the internal structure of namespaces is irrelevant to processing -- which brings us back to the punctuation view. Right now we are trying to have our cake and eat it too and this is the root of the confusion. On days ending in a Y they are just punctuation. On days where someone in Seattle drinks coffee they are things with identity. Paul Prescod
Received on Sunday, 17 February 2002 18:12:54 UTC