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

Re: URI versus URI Reference

From: Paul W. Abrahams <abrahams@valinet.com>
Date: Thu, 25 May 2000 11:44:55 -0400
Message-ID: <392D4A77.1C109C05@valinet.com>
To: Martin Gudgin <marting@develop.com>, xml-uri@w3.org
Martin Gudgin wrote:

> > The odd thing about 2396 is that there's only one place where it actually
> defines a
> > URI, and that's in the Abstract (which should really be redundant and
> non-normative
> > anyway).   Other than that, it just talks about the properties of URIs and
> the
> > expectations we have of them.  Nowhere does it say that a URI must be
> absolute.  I
> > can't find a single sentence, other than the one in the Abstract, that
> says ``A URI
> > is ...'', and the one in the abstract only says that a URI is a compact
> string of
> > characters for identifying an abstract or physical resource.
>
> I think the description is in the section 4, paragraph 1. Sentence 3
> specifies that "the URI" that results from a URI reference is always
> absolute and has no fragid.

That's talking about a subset of all possible URIs, namely, those that result
from URI references.  It isn't a general definition of what a URI is.  It also
suggests that a URI has no explicit syntactic definition (contrary to what most
people seem to believe), since it requires semantic processing to obtain one in
the general case.  There is also a terminological problem: to say a relativeURI
is not a URI is a great source of confusion.

Perhaps the solution is to include explicitly the terminology of RFC 1630,
whose intent was to point all of this in the right direction without being
normative:

A complete URI consists of a naming scheme specifier followed by a string whose
format is a function of the naming scheme.

Looking at it this way, a URI is either absolute or relative.  An absolute URI
is already a complete URI; a relative URI can be resolved to a complete URI
through the process of absolutization.  Turning it around, a complete URI is
either an absolute URI or the result of absolutizing a relative URI.  The
process of turning a URI into a complete URI may be a simple transcription (in
the absolute case) or something that involves looking at the context (in the
relative case).

That's a clear, complete, and consistent set of definitions.

Paul Abrahams
Received on Thursday, 25 May 2000 11:45:38 UTC

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