W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2001

RE: RDF and xml:base

From: Graham Klyne <GK@NineByNine.org>
Date: Wed, 30 May 2001 14:29:29 +0100
Message-Id: <>
To: Lee Jonas <lee.jonas@cakehouse.co.uk>
Cc: RDF Interest <www-rdf-interest@w3.org>
This discussion seems to be getting hung-up on possibly side issues.

Can I, or can I not do this:

   <rdf:RDF xmlns:rdf='...' xmlns:ex='http://example.org/'
            xml:base='http://example.org/Base/' >
     <rdf:Description rdf:ID='localID'>


And if I can, what is the full URI of the resource identified locally as 

I have encountered a requirement to use this general form, or something 
like it, to assign a full URI to this resource.  My expectation was that 
xml:base used as above would provide for it to be defined as 


At 11:11 AM 5/30/01 +0100, Lee Jonas wrote:
>Graham Klyne [mailto:GK@ninebynine.org] wrote:
> >OR:
> >
> >(3) use a protocol-independent way to communicate the document's URI;  i.e.
> >xml:base.
> >
>No!  xml:base is not intended to communicate the document's URI.  A
>document's URI and a base URI are two separate concepts.
> >From the XMLBase spec:
>4.1. Relation to RFC 2396
>RFC 2396 [IETF RFC 2396] provides for base URI information to be embedded
>within a document. The rules for determining the base URI can be summarized
>as follows (highest priority to lowest):
>The base URI is embedded in the document's content.
>The base URI is that of the encapsulating entity (message, document, or
>The base URI is the URI used to retrieve the entity.
>The base URI is defined by the context of the application.
>NOTE: The term "entity" in points #2 and #3 above uses the RFC 2396 meaning
>of the term. Elsewhere in this document the term "entity" is used in the XML
>This document specifies the details of rule #1 for embedding base URI
>information in the specific case of XML documents.
>Hence xml:base is used to override any document URI for the resolution of
>relative URIs.
>Now, fragments are _not_ considered part of a URI.  From RFC2396 section 4:
>4. URI References
>    The term "URI-reference" is used here to denote the common usage of a
>    resource identifier.  A URI reference may be absolute or relative,
>    and may have additional information attached in the form of a
>    fragment identifier.  However, "the URI" that results from such a
>    reference includes only the absolute URI after the fragment
>    identifier (if any) is removed and after any relative URI is resolved
>    to its absolute form.  Although it is possible to limit the
>    discussion of URI syntax and semantics to that of the absolute
>    result, most usage of URI is within general URI references, and it is
>    impossible to obtain the URI from such a reference without also
>    parsing the fragment and resolving the relative form.
>       URI-reference = [ absoluteURI | relativeURI ] [ "#" fragment ]
>Hence '#fragment' is an empty URI (''), plus the fragment identifier.
>Again from RFC section 5.2, if a URI has no scheme, authority, path or query
>then it is a reference to the current document, and further processing of
>the URI is terminated.
> >The requirement I was imagining was not necessarily to preserve
> >persistence, but to provide a way for cross-referencing between multiple
> >transient subgraphs.  I.e. to reference resources defined by rdf:ID from
> >outside the document.
> >
> >#g
>You could still use a protocol-independent way to communicate the URIs
>associated with each transient graph, but xml:base is not it.

Graham Klyne
Received on Wednesday, 30 May 2001 09:38:23 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:30 UTC