Re: #foo URI references

I think I didn't give my whole story. I think what I said
below applies one specific use of base, which is quite
usual for HTML, but not for other uses.

Basically HTML <base> or xml:base can be used for two purposes:

1) To indicate the actual base URI of the current document.
    This is helpful in certain mirroring situations, in off-line
    editing/processing, and so on.
2) To indicate any kind of base to shorten URIs, completely
    independent of the original location of the current document.

In HTML, because there is only one <base>, usage 1) is often
predominant. But there are exceptions. For example I have used
<base> on a page with test links to the RDF validator
(see http://www.w3.org/2002/08/rdf-i18n-tests/). In that case,
<base> came in very handy to shorten the URIs, and even more
handy because it easily allowed to switch between a test instance
of the validator and the production instance without having to
change dozens of links.

For xml:base, the situation may be a bit different because
xml:base can be used repeatedly in an XML document. Also, we
have to take into account the (somewhat arbitrary) definition
of how xml:base interacts with external entities.

Both HTML and RDF mainly look at 1) when defining how they
want to behave fragments that refer to the current document.
And the two things they want to do, namely a) knowing what the
current document's original address was (RDF) and b) making
sure that there is no unnecessary retrieval operations (HTML)
are not in conflict as long as we are dealing with 1).

My guess is also that 2) is not really used with same-document
references. Definitely in my testing example, it wouldn't make
sense. Probably RDF could explicitly discourage the use of
xml:base for shortening URIs by recommending that suitable
namespace declarations can be used.

Regards,    Martin.


At 16:12 03/06/28 -0400, Martin Duerst wrote:

>At 18:42 03/06/27 +0100, Graham Klyne wrote:
>
>>In the opposite direction to your concerns, I find that the old 
>>same-document reference approach is problematic because there is *no way* 
>>to specify a fragment relative to the current base URI without also 
>>specifying part of the base URI.  (See also my comments at: 
>>http://www.apache.org/~fielding/uri/rev-2002/issues.html#017-rdf-fragment)
>>
>>I think the underlying problem is that this bit of syntax (i.e. bare 
>>#frag) is overloaded, and the most useful choice of functionality varies 
>>with the use.  Which suggests that a fix to satisfy everybody would 
>>require more syntax, but I don't know if that's a good idea, or even possible.
>
>'varies with use' does not automatically imply we need more syntax.
>The two uses we know are HTML-like, where it clearly is a same-document
>reference, and RDF-like, where it is treated as being relative to the
>relevant base. These uses should be distinguishable by context.
>And in both cases, there is no reloading of the document: In the
>HTML-like case, because it's a same-document reference and we already
>have the document, and in the RDF-like case because we can assume
>that the document is a copy of the one at the 'base' location, and
>therefore reload is unnecessary. So despite the differences, there
>is a lot of commonality.
>
>Regards,    Martin.

Received on Monday, 30 June 2003 15:03:49 UTC