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

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.4.0 : Friday, 17 January 2020 23:13:58 UTC