Re: [URN] URI documents -- "# fragment"

Sam Sun (ssun@CNRI.Reston.VA.US)
Thu, 8 Jan 1998 16:57:39 -0500

From: "Sam Sun" <ssun@CNRI.Reston.VA.US>
To: "Dan Connolly" <>,
Cc: <>, <>
Subject: Re: [URN] URI documents -- "# fragment"
Date: Thu, 8 Jan 1998 16:57:39 -0500
Message-ID: <01bd1c80$6ff48790$29019784@ssun.CNRI.Reston.Va.US>

>> > Sam Sun wrote:
>> > > In the case of URL, The " [ "#" fragment ] " is only used or useful
by some
>> > > URL schemes. So my question is: is it acceptable to say that the
>> > > is scheme dependent, and don't bring it up in the URI definition?
>> Dan Said:
>> > No; that is, to say that is not consistent with current
>> > implementations, and I would find it unacceptable.
>> The current implementation (eg. Netscape browser) append the "#fragment"
>> whatever the base URI is. I don't quite understand on where it would be
>Uh... you said it yourself: "whatever the base URI is" regardless
>of scheme.

The point I wanted to show you is that "# fragment" doesn't work by itself.
It's actually worked as a relative URL. And the generic URI parser may never
get the "# fragment" alone. (ie, in your example, the <a href="#foo"> ... is
a relative URL, not just a "# fragment".)

On the other hand, I don't see any usage of "# fragment" for "mailto" or
"ldap" URLs as defined in the HTML document. So, if "# fragment" is not
needed for all of the URI schemes, I wonder if we could drop it from the
overall URI definition?

[ ......lots of cutting.......]
>> In fact, using %25 to replace the '#' character will fail.
>That seems like a bug to me. But I suppose Draft Standard
>is the time to describe what happens rather than prescribe
>something else.
[ ......lots of cutting.......]

To me, there are two ways to look at whether it's a bug or not.

>From the existing standard point of view, it could be a bug, if the standard
spelled it out explicitly. But from the user's point of view, it's a nice
feature. (I feel that hex encoding can be very annoying to the user.) But if
the URI Syntax is to become a new standard, maybe we can loose it a little
bit so that new URI schemes can be defined for different kinds of user need.

Lastly, I'm wondering if the "# fragment" requirement is inherited from the
earlier URL standards when there're few URL schemes defined. If we drop the
requirement of "# fragment" from URI as a whole, it can still be defined by
those URL schemes that need it, in their respective RFCs. And the only thing
I see broken is that the generic URI parser can not catch the "#fragment",
and decide what to do, which is not happening and I think really doesn't
have to.