- From: Roy T. Fielding <fielding@apache.org>
- Date: Fri, 19 Sep 2003 16:53:04 -0700
- To: Paul Grosso <pgrosso@arbortext.com>
- Cc: uri@w3.org
Sorry for this retread of an old topic, but I want to be sure that I answered your question (and I can't remember if I did). On Tuesday, July 15, 2003, at 02:11 PM, Paul Grosso wrote: > At 12:25 2003 07 11 +0200, Roy T. Fielding wrote: >> Paul had asked: >>> Are you saying that it never makes sense for an author to use >>> xml:base or HTML's BASE element? >> >> No, it does not change their use. > > I believe one really needs to be able to author something in a resource > that is certain to refer to that same resource. If you look at most > W3C > specification's--certainly most of those with which I am familiar in > the > XML Activity--I think you'll find most links are intra-document links. To be perfectly clear, the algorithm as stated in draft 03 does not alter such use whatsoever. The result is still the current document, regardless of which base is used in the algorithm. I will try to make that clearer in the next revision. > I continue to believe this serious backward incompatible change to > semantics > defined by 2396 and assumed by various other specs including XML Base > is > quite problematic. I can only conclude that you missed the section. 4.4 Same-document Reference When a URI reference occurring within a document or message refers to a URI that is, aside from its fragment component (if any), identical to the base URI (section 5.1), that reference is called a "same-document" reference. The most frequent examples of same-document references are relative references that are empty or include only the number-sign ("#") separator followed by a fragment identifier. When a same-document reference is dereferenced for the purpose of a retrieval action, the target of that reference is defined to be within that current document or message; the dereference should not result in a new retrieval. In other words, it doesn't matter what the base URI might be at that point -- the only relevant question is whether the resulting reference (after parsing) differs from the current base URI by only the fragment. There is no change in reference semantics between this and 2396. The only thing that changes is the point at which the processor determines whether the link is internal or external. The reason for this change is because it corresponds to the separation of concerns within most URI-parsing technology, such as browsers, which explains why they didn't implement the prior behavior. The only case that could cause this change to result in an error is if the base URI were changed to point to a resource other than the one corresponding to this document AND that other resource happens to be referenced within this document. That case is not considered relevant because it is a bad idea and wouldn't work with existing browsers and caches regardless. For the tricks you described earlier with xml-base, it is trivial to invent a base URI that isn't referenced within the document and therefore not subject to this discrepancy in behavior. ....Roy
Received on Friday, 19 September 2003 19:54:15 UTC