- From: Graham Klyne <GK@NineByNine.org>
- Date: Wed, 30 May 2001 14:29:29 +0100
- 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'> <ex:property>PropVal</ex:property> </rdf:Description> </rdf:RDF> ? And if I can, what is the full URI of the resource identified locally as 'localID'. 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 'http://example.org/Base/#localID'. #g -- 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 >none). > >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 >sense. > >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. > >regards > >Lee > > > ------------ Graham Klyne (GK@ACM.ORG)
Received on Wednesday, 30 May 2001 09:38:23 UTC