- From: <bugzilla@wiggum.w3.org>
- Date: Wed, 19 Jul 2006 15:51:31 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3486 Summary: [XQuery] relative base URI 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: davidc@nag.co.uk QAContact: public-qt-comments@w3.org XQuery defines the term "Base URI" to be an absolute URI both in the definition of the ststic context http://www.w3.org/TR/xquery/#dt-base-uri and in the glossary http://www.w3.org/TR/xquery/#GLdt-base-uri However no error condition or code is described if a non-absolute URI is given as the URILiteral in a Base URI Declaration. Several other parts of XQuery appear to assume that the base URI is absolute eg the doc() function http://www.w3.org/TR/xpath-functions/#func-doc says ... it is resolved relative to the value of the base URI property from the static context. The resulting absolute URI ... In the analogous situation in XSLT which uses xml:base to specify a non-default base URI, it is legal to specify a relative URI but it's resolved against the existing (absolute) URI to ensure that the base URI in the static context is always absolute (or an error is raised if an absolute URI can not be determined) This affects several XQuery Test Suite tests, including at least base-URI-11 12,13,15,17,18,19,20,21,23,24. -11 for example expects fn:static-base-uri() to return the relative URI "abc123" yet fn:static-base-uri is defined to return a Base URI, and Base URI are defined to be absolute. I would propose that XQuery follow XSLT here and allow the declaration to specify a relative URI but ensure that the base URI in the static context is always absolute. (Apart from anything else, the definition of the resolution of relative URI against a base URI is as far as I can see not defined anywhere, the URI RFCs only define the case of an absolute base.) This would mean that the output of base-URI-11.xq as currently written would be highly system dependent. the output would be the string ..../abc123 where .... is the initial base URI of the Query text (which may typically be a file::// URI reflecting the location of the query on the filesystem) David
Received on Wednesday, 19 July 2006 15:51:45 UTC