Namespace URI address resources

Paul Prescod paul at prescod.net
Tue Jun 1 00:11:01 BST 1999


Tim Bray wrote:
> 
> No, that's not a "formal logic" change, that's a huge basic semantic
> change.  If the IETF had wanted to forbid people using these for
> other purposes, they should say so.  

Okay, fine:

"A Uniform Resource Identifier (URI) is a compact string of characters for
identifying an abstract or physical resource."

Normatively referenced RFC 2396: http://www.faqs.org/rfcs/rfc2396.html

You can also read the section that begins "URI are characterized by the
following definitions."

Paul's Fudamantal Law of URIs (PFLU): If a string does not identify a
resource then it not a URI.

But we could also just use our common sense here. If someone write a spec
that normatively references the XML specification they cannot later say:
"Oh, we didn't mean for you to interpret the term 'element' as XML does.
In our system, elements are text substitution macros and <!ELEMENT
declarations define the text substition string."

Is there anywhere in the namespaces spec. where it says that you are
interested in the syntax of URIs but not the semantics? No, because you
are depending on the semantics for uniqueness! You say that the resource
need not be retrievable, but not that the URI syntax is being used even
though there will be cases in which there *is no resource*. So we must
assume that the semantics from the URI/URL specifications are valid.

Part of those semantics are that http: URLs represent things that can be
accessed with HTTP (even if the namespaces spec. itself doesn't care, the
logical consistency of the definition of URI requires it).

> Note that one of the co-editors
> of the URI RFC is one T. Berners-Lee, who among other things signed
> off on the namespace spec.

That doesn't change the content of either spec. Anyhow, the namespaces
spec. is logically complete (AFAIK): why shouldn't he sign off on it? That
doesn't mean that we can now use the namespaces spec. as an excuse to defy
the URI spec.

> Uh, namespace URIs do not designate resources.  The namespace spec
> is crystal-clear on this.  They serve as names, that's all.

"An XML namespace is a collection of names, identified by a URI
reference."

A resource is something identifiable by a URI. Therefore a reasoanble
interpretation is that an XML namespace is a resource (an abstract
resource) designated by its URI. I'm prepared to write this off to
ambiguous wording -- you meant "identified for the purposes of this
specification but not for the more general purposes of the World Wide
Web." But even so, we can't get around PFLU.

Here's another way to think of it:

You could argue that the XML namespaces spec does not care about the
resource but if the string is a URI then there must be a resource (perhaps
abstract). That follows from PFLU.

An http: URI is a statement that there exists a resource that can be
retrieved using the HTTP protocol: otherwise it isn't a URI but rather
just a string that looks like a URI.

If it is just a string that looks like a URI then it isn't guaranteed
unique. Which isn't good enough for the namespaces spec. So obviously the
strings are actually URIs. Which means that they must refer to abstract or
concrete resources which (in the case of URL-addressed resources) can be
retrieved according to the URL specification.

> That analogy is bogus - the semantic of a URL, when used in a web hyperlink,
> is well-defined.  

It doesn't have to be an HTML/XLink hyperlink. I could just have a text
file:

"""
This document conforms to RFC2396 and uses the Appendix E conventions for
delimiting URIs.

<URL:http://www.w3.org> (you cannot use HTTP to fetch this).
"""

The document is paradoxical.

Plus, it is DAMN CONFUSING, just as URL-based namespaces are!

> We are not specifying that the namespace URI be used as
> anything but a string, for comparison purposes.  There is no convincing
> evidence that this violates the letter or spirit of any standard
> anywhere. -Tim

If you wanted it to be just a string then you shouldn't have made
normative reference to a specification that defines the syntax and
semantics of the string and that requires the existence of
http-retrievable resources.

-- 
 Paul Prescod  - ISOGEN Consulting Engineer speaking for only himself
 http://itrc.uwaterloo.ca/~papresco

Alabama's constitution is 100 years old, 300 pages long and has more than
600 amendments. Highlights include "Amendment 393: Amendment of Amendment
No.  351", "Validation of Laws Regulating Court Costs in Randolph County",
"Miscegenation laws", "Bingo Games in Russell County", "Suppression
of dueling".  - http://www.legislature.state.al.us/ALISHome.html

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list