- From: <bugzilla@wiggum.w3.org>
- Date: Fri, 30 Jun 2006 11:17:58 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3416 Summary: [XQuery] Base URI of a constructed element Product: XPath / XQuery / XSLT Version: Candidate Recommendation Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: XQuery AssignedTo: chamberl@almaden.ibm.com ReportedBy: mike@saxonica.com QAContact: public-qt-comments@w3.org In XQuery, the rules for the base URI of a newly constructed element (3.7.1.3 clause 5b and 3.7.3.1 clause 4b) say: base-uri is taken from the first of the following sources that exists: 1. the value of the constructed node's attribute named xml:base, if this attribute exists; 2. base URI in the static context. This differs from the equivalent rule in XSLT, which is (last paragraph of 11.2): "The base URI of the new element is copied from the base URI of the xsl:element instruction in the stylesheet, unless the content of the new element includes an xml:base attribute, in which case the base URI of the new element is the value of that attribute, resolved (if it is a relative URI) against the base URI of the xsl:element instruction in the stylesheet." I think the XSLT rule is the right one, because it caters for xml:base being a relative URI (which is common, and useful). But I think the rule should also reference XML Base to ensure that the processing of the xml:base attribute is consistent with the rules of that specification. For example, XML Base mandates percent-escaping of special characters. Currently this will be done for a document constructed from an Infoset, but not for a document constructed by a query. Proposed replacement text: base-uri is taken from the base URI in the static context, unless the constructed node has an attribute named xml:base, in which case the base-uri is the value of this attribute, resolved if it is relative against the base URI in the static context. The xml:base attribute is processed as described in [XML Base]: for example, certain special characters are percent-encoded.
Received on Friday, 30 June 2006 11:18:10 UTC