This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 25963 - [f+o 3.0] default second argument for resolve-uri()
Summary: [f+o 3.0] default second argument for resolve-uri()
Status: RESOLVED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: Functions and Operators 3.0 (show other bugs)
Version: Working drafts
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-06-03 16:35 UTC by Michael Kay
Modified: 2014-09-16 16:33 UTC (History)
1 user (show)

See Also:


Attachments

Description Michael Kay 2014-06-03 16:35:54 UTC
The spec says that the default for the second argument of resolve-uri() is effectively static-base-uri(). But static-base-uri() can return an empty sequence (if the static base uri is absent), while resolve-uri() does not accept an empty sequence here, and instead is defined to raise an error if there's no static base URI.
Comment 1 Abel Braaksma 2014-07-23 22:15:59 UTC
Considering the title of this bug, should this not have a component specification of F&O?
Comment 2 Michael Kay 2014-09-09 19:18:23 UTC
The editor was asked to propose a resolution. The proposed resolution is to replace the rule

If the second argument is absent, the effect is the same as calling the two-argument function with the value of fn:static-base-uri() as the second argument.

by

If the second argument is absent, the effect is as follows:

* if the static base URI property in the static context is non-absent, it is used as the effective value of the second argument

* otherwise, a dynamic error [FORG0002] is reported.
Comment 3 Michael Kay 2014-09-16 15:37:52 UTC
Accepted with the caveat that if the first arg is an absolute URI, resolve-uri() should succeed even if there is no known base URI.
Comment 4 Michael Kay 2014-09-16 16:33:00 UTC
The changes have been applied.