[Bug 3486] [XQuery] relative base URI

http://www.w3.org/Bugs/Public/show_bug.cgi?id=3486





------- Comment #3 from mike@saxonica.com  2006-08-16 15:42 -------
Here's a detailed proposal (requested by action A-305-08).

Part 1: the static base URI
===========================

In 4.5, delete "overriding any implementation-defined default".

Add at the end of the section: "In the terminology of RFC 3986 (section 5.1),
the URILiteral of the base URI declaration is considered to be a "base URI
embedded in content". If no base URI declaration is present, the base URI in
the static context should be established according to the principles outlined
in RFC 3986 section 5.1: that is, it should default first to the base URI of
the encapsulating entity, then to the URI used to retrieve the entity, and
finally to an implementation-defined default. If the URILiteral in the base URI
declaration is a relative URI, then it is made absolute by resolving it with
respect to this same hierarchy: for example if the URILiteral is "../data/",
and the query is contained in a file whose URI is
"file:///C:/temp/queries/query.xq", then the absolute base URI should be taken
as "file:///C:/temp/data/".

It is not intrinsically an error if this process fails to establish an absolute
base URI; however, the static base URI in the static context is then undefined,
and any attempt to use its value may result in an error.

Part 2: xml:base
================

In 3.7.1.3 5.b.i, change "the value of the constructed node's attribute named
xml:base, if this attribute exists;" to "if the constructed node has an
attribute named xml:base, then the value of this attribute, resolved if it is
relative against the base URI in the static context".

In 3.7.3.1, 2nd list, 4.b.i, make the same change.

(END)

Received on Wednesday, 16 August 2006 15:43:19 UTC