- From: Graham Klyne <GK@ninebynine.org>
- Date: Thu, 26 Feb 2004 09:48:08 +0000
- To: Al Gilman <Alfred.S.Gilman@IEEE.org>, uri@w3.org
On balance, I find I prefer Roy's wording, though you raise a plausible issue of possible confusion concerning "client-side indirect referencing" and the use of hyperlinks for indirect referencing. I think "client-side indirect referencing" is intended to refer to something looser and broader than what is associated with a hyperlink. I also note that Roy's phrasing is qualified with the phrase "identify those aspects of an *existing resource*" (my emphasis), which seems to exclude the hyperlink redirection. In particular, I find that your phrase "... in a context established by the resource identified by ..." doesn't really add any new clarity to the issue. I also think that "A fragment's interpretation is in many schemes allowed to depend on the media type [RFC2046] ..." is plain misleading, as it suggests that fragment interpretation is some how related to the URI scheme (which I think is wrong). If this is really a problem, I suggest a much more modest change: [[ Fragment identifiers have a special role in information systems as the primary form of client-side indirect referencing, allowing an author to specifically identify those aspects of an existing resource that are only indirectly provided by the resource owner. ... ]] to: [[ Fragment identifiers have a special role in information systems as the primary form of client-side indirect referencing, allowing an author to specifically identify those secondary aspects of an existing resource that are only indirectly provided by the resource owner. ... ]] (insertion of "secondary" before "aspects"; this is intended to echo earlier use of the term "secondary resource", and I think more clearly distinguishes from the case of using a hyperlink.) #g -- At 09:48 25/02/04 -0500, Al Gilman wrote: ><from> ><quote cite= >"http://gbiv.com/protocols/uri/rev-2002/rfc2396bis.html#fragment"> >3.5 Fragment > > The fragment identifier component of a URI allows indirect > identification of a secondary resource by reference to a primary > resource and additional identifying information. The identified > secondary resource may be some portion or subset of the primary > resource, some view on representations of the primary resource, or > some other resource defined or described by those representations. A > fragment identifier component is indicated by the presence of a number > sign ("#") character and terminated by the end of the URI. > > fragment = *( pchar / "/" / "?" ) > > The semantics of a fragment identifier are defined by the set of > representations that might result from a retrieval action on the > primary resource. The fragment's format and resolution is therefore > dependent on the media type [RFC2046] of a potentially retrieved > representation, even though such a retrieval is only performed if the > URI is dereferenced. Individual media types may define their own > restrictions on, or structure within, the fragment identifier syntax > for specifying different types of subsets, views, or external > references that are identifiable as secondary resources by that media > type. If the primary resource has multiple representations, as is > often the case for resources whose representation is selected based on > attributes of the retrieval request (a.k.a., content negotiation), > then whatever is identified by the fragment should be consistent > across all of those representations: each representation should either > define the fragment such that it corresponds to the same secondary > resource, regardless of how it is represented, or the fragment should > be left undefined by the representation (i.e., not found). > > > As with any URI, use of a fragment identifier component does not imply > that a retrieval action will take place. A URI with a fragment > identifier may be used to refer to the secondary resource without any > implication that the primary resource is accessible or will ever be > accessed. > > Fragment identifiers have a special role in information systems as the > primary form of client-side indirect referencing, allowing an author > to specifically identify those aspects of an existing resource that > are only indirectly provided by the resource owner. As such, > interpretation of the fragment identifier during a retrieval action is > performed solely by the user agent; the fragment identifier is not > passed to other systems during the process of retrieval. Although this > is often perceived to be a loss of information, particularly in > regards to accurate redirection of references as content moves over > time, it also serves to prevent information providers from denying > reference authors the right to selectively refer to information within > a resource. > ></quote> ></from> > ><to> >3.5 Fragment > > A fragment identifier component is indicated by the presence of a > number sign ("#") character and terminated by the end of the URI. > > fragment = *( pchar / "/" / "?" ) > > The fragment identifier component of a URI allows > identification of something, call it a secondary resource, > by indirect reference in a context established by the > resource identified by the rest of the URI (preceding the #fragment > component). > The secondary resource so identified may be some portion or subset > of the primary > resource, some view on representations of the primary resource, or > some other resource defined or described by those representations. > > A fragment's interpretation is in many schemes allowed to depend > on the media type [RFC2046] of a potentially retrieved > representation, even though such a retrieval is only performed if the > URI is dereferenced. Individual media types may define their own > restrictions on, or structure within, the fragment identifier syntax > for specifying different types of subsets, views, or external > references that are identifiable as secondary resources by that media > type. URI schemes may also define rules for fragments that their > resources must follow. > > If the primary resource has multiple representations, > whatever is identified by the fragment should be consistent > across all of those representations. Operations on the URI including > the #fragment component as an opaque object should be valid independent > of recovery or non-recovery. When a resource is available in different > media types, the interpretation of the #fragment should be consistent > for those types supporting a #fragment interpretation. > > As with any URI, use of a fragment identifier component does not imply > that a retrieval action will take place. A URI with a fragment > identifier may be used to refer to the secondary resource without any > implication that the primary resource is accessible or will ever be > accessed. > > However, if a retrieval is possible, a User Agent must be able to > retrieve the resource using the URI preceding the #fragment component > and interpret the #fragment in the context of the representation > received for that resource. This must be without loss of information. > Thus a User Agent may always strip and retain the #fragment component > and apply it locally after retrieving a resource. > > For some retrieval mechanisms such as the HTTP protocol, the User Agent > should generally strip the #fragment and apply it locally, as some > server implementations may not process the URI correctly with > the #fragment component retained. > ></to> > ><discussion> > >[why some sort of change is needed] > >I was particularly set off down this track when Martin started a quote >with the following paragraph-head. > ><quote> > > Fragment identifiers have a special role in information systems as the > primary form of client-side indirect referencing, allowing an author > to specifically identify those aspects of an existing resource that > are only indirectly provided by the resource owner. > ></quote> > >In the context of the preceding paragraph it is clear what Roy was thinking >this should mean, but taken at face value this language is contrary >to fact in at least three ways. > >Where it comes to _providing_ the information 'indirectly,' the leading >technique on the web is by placing hyperlinks in the resource representations, >and the second dominant method is via schemas and specifications to which >representations claim conformity either by their message metadata or >internally. > >In the common use of #fragment to point at an element in an HTML document, >the 'secondary resource' is 'provided' *more directly* than the 'primary >resource.' It is only the *identification* of the resource that is more >indirect. The URI that the user is processing is not an utterance of the >resource owner/provider, but of some third party citing the resource. The >step is to localize to something you have already been given. The >'provision' of the 'primary resource' is more indirect than that, requiring >a not-tightly-specified implementation of resource recovery. > >So we do need some different language in here to state what is going on >and what should be going on. > >Please consider the above rewrite as leaving less room for misunderstanding. > ></discussion> > >Al ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact
Received on Thursday, 26 February 2004 10:55:43 UTC