Re: URI versus URI Reference

Michael Mealling wrote:

> A URI Reference means that you have a defined base
> and that fragments make sense because you know the content type of the
> thing you are linking to. 2396 specifically divided the two. A 2396 'URI'
> is what folx here have been calling an "absolutized URI".
>
> I.e. the strict data type 'URI' does not allow for the relative URIs or
> fragments. "URI References" are allowed to have all of those things.
> The reasoning is that in many cases URIs get used by things that
> aren't documents and for which relative and fragment semantics make no sense.

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.   Nor can I find a
syntax rule whose left side is `URI'.  Is there an explicit definition of ``the
strict data type `URI' '' in 2396 that I've missed?

There is, however, a definition of the term URI-reference and a syntax rule for it.

There's also the oddity of Section A, which is entitled ``Collected BNF for URI''
but does not define the nonterminal URI.

As I hypothesized in a message to John Cowan, perhaps the committee members are
thinking about what they meant to say and thought they said, or even might have
said in an earlier document, rather than what they actually said in RFC 2396.

Of course, if you can find the explicit definition of URI that I've overlooked,
that will settle the argument.

Paul Abrahams

Received on Wednesday, 24 May 2000 21:38:34 UTC