Re: Summary: Section 2: What does a URI identify?

At 14:55 2002 03 18 -0500, Jonathan Borden wrote:

[many things to which I do not take issue, and then...]

>The next point:
>[[
>A URI that consists of only a fragment identifier (i.e, one that begins with
>a " # ") always points into the document that contains the URI, irrespective
>of the effective base URI.
>]]
>
>I disagree. Again, particularly with RDF applications that do not
>necessarily maintain the concept of a "current document", a bare fragment
>identifier might be converted into an absolute URI + frag id, via the base
>URI. Indeed RFC 2396 explicitly licences such use when appropriate.

No!  People keep getting this wrong, and unfortunately major browsers
do too which is really making a mess of the use of base URLs to the
point where one cannot use <base> and <a href="#xxx"> sorts of references
together, because this misinterpretation of #xxx refs with respect to
base URL destroys the ability to maintain intradocument xrefs.

>To quote the appropriate passage:
>
>[[
>4.2. Same-document References
>
>   A URI reference that does not contain a URI is a reference to the
>   current document.  In other words, an empty URI reference within a
>   document is interpreted as a reference to the start of that document,
>   and a reference containing only a fragment identifier is a reference
>   to the identified fragment of that document.  Traversal of such a
>   reference should not result in an additional retrieval action.
>   However, if the URI reference occurs in a context that is always
>   intended to result in a new request, as in the case of HTML's FORM
>   element, then an empty URI reference represents the base URI of the
>   current document and should be replaced by that URI when transformed
>   into a request.
>]]
>
>Read 'however' ...

However, you are talking about empty URI references which isn't
the current topic.

Instead, read the appropriate part about "5.2. Resolving Relative 
References to Absolute Form".  Specifically, the second step of
the algorithm:

  2) If the path component is empty and the scheme, authority, and
      query components are undefined, then it is a reference to the
      current document and we are done. 

I don't find that ambiguous at all.

paul

Received on Monday, 18 March 2002 15:28:16 UTC