Welcome to the XML-URI list

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