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 30298 - Test functx-fn-resolve-uri-all should raise FORG0002 for invalid $base argument
Summary: Test functx-fn-resolve-uri-all should raise FORG0002 for invalid $base argument
Status: NEW
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XQuery 3 & XPath 3 Test Suite (show other bugs)
Version: Recommendation
Hardware: PC Windows NT
: P2 minor
Target Milestone: ---
Assignee: O'Neil Delpratt
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-15 19:21 UTC by Abel Braaksma
Modified: 2018-10-15 19:21 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2018-10-15 19:21:32 UTC
The test uses the following expression:

(resolve-uri('prod', 'http://datypic.com/'), resolve-uri('prod2', 'http://datypic.com/prod1'), resolve-uri( 'http://example.org','http://datypic.com'), resolve-uri( 'http://datypic.com', '../base'), resolve-uri( '', 'http://datypic.com'))

The following subexpression does not have a valid $base URI: 

resolve-uri( 'http://datypic.com', '../base')

The spec says, on FORG0002:

"A dynamic error is raised [err:FORG0002] if $base is not a valid IRI according to the rules of RFC3987, extended with an implementation-defined subset of the extensions permitted in LEIRI, or if it is not a suitable IRI to use as input to the chosen resolution algorithm (for example, if it is a relative IRI reference, if it is a non-hierarchic URI, or if it contains a fragment identifier)."

I.e., the last part "i.e.... if it is a relative IRI reference".


This test exists for a while already, perhaps this has changed since XPath 2.0?