Re: The 'resource' identified by a namespace name URI should be the namespace

On Fri, Jun 02, 2000 at 11:13:45PM -0400, Tim Berners-Lee wrote:
> Michael Mealling scripsit:
>> If the URIs are equal, the resources are the
>> same; but if the URIs are not equal, the resources may or may not]
>> be the same.
[...]
> 
> Michael is right here, I think.  Because the only definitoin of a resource
> is its URI,  resource equality is defined by the URI quality as
> string equality of the URI.  That is a relation given us by the URI spec.

Right.

Unfortunately, that's not sufficient for XML's needs in namespaces.
We have to know definitively whether a particular use of a namespace Z
is namespace X or is not namespace X.  If two URIs happen to differ,
but the intent was for them to refer to the same namespace, we need
that to be signalled as an error.

There are two approaches to this that we have seen:
(1) force a constant name for each namespace, and require that the
    namespace be invoked using that exact name.

    This mandates that www.W3.org/X and www.w3.org/X and www.w3.org/X/
    are all different, and probably that only one of them is correct
    for a given namespace.

(2) if an XMP processor or other names-space-aware application encounters
    a namespace it does not recognise exactly, require that it either
    [2a] stop processing and signal an error, or
    [2b] dereference the namespace and interpret what it finds.

It may seem like there is an option [2c], in which a processor ignores
namespacess it doesn't recognise, and also [2d], HTML Mode, in which
a processor uses case-insensitve compariton, soundex, and other
heuristics, in order to intuit the possible error.  Neither of these
are options in an XML environment where so-called Draconian error
handling is the norm.  It's illegal to process a non-well-formed
document and label it as XML.

Option 2a will cause problems with future namespaces -- but maybe that's OK?

Option 2b is what I believe to be The Right Thing.  It is very comparable
to fetching a Document type definition, an external entity, or a style
sheet.

Saying that it is only necessary if the XML processor does not recognise
the namespace URI means that existing documents -- even ones using
relative URIs -- will all continue to work, if they work today.

Option 2b allows the namespace-aware XML software to distinguish between
a namespace that it isn't programmed to handle and one that is an error.
This is very important.

What should be at the other end of the URI is a separate question.

Lee

-- 
Liam Quin - Barefoot in Toronto - liam@holoweb.net - http://www.holoweb.net/
Ankh on irc.sorcery.net http://valinor.sorcery.net/
Co-author, The XML Specification Guide, Wiley, 1999
Forthcoming: The Open Source XML Database Toolkit

Received on Saturday, 3 June 2000 01:22:00 UTC