- From: Tim Berners-Lee <timbl@w3.org>
- Date: Mon, 15 May 2000 09:45:59 -0400
- To: <xml-uri@w3.org>
- Cc: <xml-dev@xml.org>
This is a list set up - possible for a short term - to hold the discussion of whether XML namespaces should be URIs. Or, from my point of view, to persuade people of the importance of URIs in namespaces. I am using this mailing list, instead of just writing a note, because it seems the differences in understanding are of the sort which need a back and forth to resolve. I have written notes about this before - in http://www.w3.org/DesignIssues/ for example. I have lectured on it and set it forth as the basic underlying architectural tenet upon which the web past present and future is built. To when a set of intelligent and thoughtful people produce specifications which do not reference the URI spec for their global identifiers, then clearly I need to understand their thoughts. The value in general of using URIs for everything is the among of reuse you get, much of it serendipitous. You don't know in advance who will point to a web page, but the fact that it has a URI means that anyone can. We have general languages such as XML's XLinks and RDF which allow one to link to or make an assertion about anything with a URI. This includes pointers, endorsement, digital signature, semantic tips to allow processing of data by other systems, and so on and so forth. The URI system is a flexibility point in the web design. Every language spec is tied down to absolutely use the URI specification. In return, it gives a wealth of existing powerful naming schemes. Some (like uuid:) are simply unique identifiers. Some (like md5:) are hashes and have very special properties of identity. Some (like http:) are spaces which have a wide-scale distributed catalog system to allow one to inquire of the name issuer definitive information about that named. When it comes to XML namespaces, the namespace identifier is very special. It is (or they are) the key to the whole document. The namespace identifies the terms which are used, and upon the meaning of those terms rests the meaning of the document. There are those who would maintain that a namespace should have no semantics, but I would say that then documents will have no semantics, and will be useless to man or machine. [You can go through the philosophical process of defining all semantics in terms of syntactic operations, of course, in which case the pedant can take the view that all is syntax, but it is not a helpful view when making this decision, as it leaves the main points the same and just gives a more difficult framework for most people to think of it]. This is not an obscure technical point. We all as engineers stand a chance of ending up[ in court giving testimony as to what an electronic transaction did or did not mean. If we say that there really is no meaning to an XML namespace, then who will ever be held to a promise made in XML/ It is really important for electronic commerce and, ideeindeed, the whole future of the web, that XML documents be defined in terms of namespaces which are considered to identify the meaning of the language they are written in. A document is a communication between publisher and reader. Its significance is the product of its contents and the definitions of the terms it uses. As we have increasingly powerful schema languages, we can say now syntactic (with xml-schema) and later semantic things about those terms, until eventually we will, in a machine-processable document, be able to relate one XML namespace to others in a web so as to allow machine conversion between systems using different namespaces, and searches and inference across many different applications. There is, therefore a great deal to be said for using, for namespaces, a URI which allows one to look up some definitive (or non-definitive) information about it. This applies the power of the web at a new level: in bootstrapping from one language into another. I have ranted about the need for evolvability (WWW conference in Brisbane, and http://www.w3.org/DesignIssues/Evolution) Finally a note about the alternatives to using URIs. Using URIs in name but actually not treating them as URIs (as proposed by some - comparing relative URIs as strings irrespective of their base address) is simply technically broken. To make up a new namespace is to isolate this bit of the technology from all the power of the web. (Thank goodness we didn't make up a new namespace for images!). Those who feel an urgent need to do this should firstly look seriously at the properties their new namespace should have. Secondly, they should imagine a design for the technology and the social system to support it. Thirdly, they should check all the existing URI schemes to find out whether they are reinventing either the technology or the social system or both, and if so use what is there. Fourthly, if they really have a new design, they should design it as a new URI scheme, well documented and tested, and register it as such so that other designs can use it. I could go on for a long time, but what I need to do is to understand people's concerns. So if anyone disagree with the above, let him or her explain why, and let's talk about it. Tim Berners-Lee
Received on Monday, 15 May 2000 09:45:00 UTC