W3C home > Mailing lists > Public > xml-uri@w3.org > May 2000

Re: Are *relative* URIs as namespace nemes considered harmful?

From: Tim Berners-Lee <timbl@w3.org>
Date: Wed, 17 May 2000 19:28:53 -0400
Message-ID: <00de01bfc093$489e4280$b0ec5c8b@ridge.w3.org>
To: <xml-uri@w3.org>, "Jonathan Robie" <Jonathan.Robie@SoftwareAG-USA.com>

-----Original Message-----
From: Jonathan Robie <Jonathan.Robie@SoftwareAG-USA.com>
To: xml-uri@w3.org <xml-uri@w3.org>
Date: Wednesday, May 17, 2000 10:38 AM
Subject: Re: Are *relative* URIs as namespace nemes considered harmful?


>At 03:14 AM 5/17/00 -0400, Tim Berners-Lee wrote:
>
>>On the contrary, there is a serious one: you get things which were
>>(identical, not identical) when compared as strings turning out to
>>generate (not identical, identical) objects when
>>considered as URIs.  This seems to me to be untenable.
>
>I want to make sure that I understand what you want. Are you saying that
>two namespaces should be considered the same if and only if their URIs
>resolve to the same resource?

In my book, a Resource is that abstract thing identified by a URI.

Two namespaces must be considered the same if they are the same resource.

When you say "resolve to the same resource"  you could mean a number of
things.

1. When HTTP is used to resolve an http: URI, the server forwards a lookup
response ("found") indicating that a representation of each bresource may be
obtained using the same forwarded URI.

In this case, then it would be reasonable for an agent to conclude that the
two rsources were equivalent.
But I would not require general XML agents to check for this.

2. There is some metadata somewhere (in a persistent cache catalog, maybe in
the schema, maybe on the back of some digital envelope) which informs the
agent that two resources are equivalent.   Some response.  I think it is
reasonable for an XML processor to be equired to absolutize the URI and then
check equality, but not require it do do any more.  In hte case of the
catalog file indicating the equivalence of a local copy and the definitive
HTTP or UUID:  (or fpi?)  URI, I would expect the translatoin to be done
ithout the user worrying about anything than the definitive URI.

I can imaging a fute schema langauge containing a statement allowing one to
declare that two languages are the same, in which case xxx-schema compliance
would probably add a requirement to take such declarations into account.

3. There are some offline cannonicalization operations you can do. For
example, if you know about HTTP and DNS you can dedcue that URIs which
differ only in the case of their DNS name part are in fact equivalent.  But
I would  NOT require XML processors to be aware of that.

> If so, must a physical resource be created in
>order to create a namespace?


Certainly not.  You can create an HTTP URI and not even run a server - you
must just own the DNS domain.  You can allocate a uuid: URI to a namespace
and never create a physical resource. And so on.

That said, we have what I think is a good policy at W3C that any tech.
report which uses a w3.org namespace must provide some document for the
server to return in response to a query for a representatoin of the
namespace. An HTML document is a minimum, a schema is prefered.  (The schema
validator XSV will for example follwo namespace links, and if it gets back
schemas, use them to schma-validate a document. Henry Thompson today
demonstarted at WWW9 the recursiv schema validation on the schema for
schemas, including the reference to XML schema which it imports).  All such
URIs must be in dated (www.w3.org/YYYY/...) space where we have a firm
policy of persistence and no reuse.


>Also, let me make sure I have my facts straight. I assume that when string
>comparison says two URIs are equal, they identify the same resource (if
>such a resource exists).

Yes.  The resource is abstract and so its existnce is not in doubt
strictly - but I know what you mean - there may be no known digital
representation of the namespace resource.

> If string comparison says two URIs are unequal,
>they may still be aliases for the same resource. To me, this does not seem
>inconsistent for the purpose of names. Two pointers may have different
>names, but identify the same object.

Yes.  You can't from looking at a name prove that two resources are not
equivalent.  You can only hope to prove they are equivalent. We just set a
low bar of things for XML software to check for for well-formedness testing.

But that doesn't matter in the end.  You could go though life with two
support classs,
one for htp://example.com/xhtlm4 an one for http://example.net/xHTML-4.0 and
never realize that you needn't have bothered
because in fact they are the same language.  There are things in hte world
which are equivalent though not a living soul knows it. That is life.

> If the identity is not in the name
>itself, where is it? Suppose two different domain names are registered for
>the same web site, but the company owning those domains splits and creates
>two different web sites, one for each domain. If I have a document
>containing URIs defined with each domain, did the names used in that
>document all change when the domains were mapped to different resources?

Or, more simply, if someone changes the file served up for a namespace URI,
does the namespace change?
No, certianly not.  One could for example add more comments to a schema
defining a namespace.
The namespaces does not change.  Just the amount the srever can tell you
about it does.

>>And remember there are many operations you can do on URIs which do not
>>involve getting on the net. For example, you can look up what you know
>>about them
>>from other sources. You can check your local broker for a Java
implementation.
>>And so on.
>
>Are you implying that XML implementations should do this kind of research
>for such simple operations as determining the name of an element or an
>attribute?


Absolutely not.

Tim

>Jonathan
>
Received on Thursday, 18 May 2000 02:33:39 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:32:42 UTC