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 30409 - [xslt30ts] current-output-uri() tests assuming initially empty base output URI
Summary: [xslt30ts] current-output-uri() tests assuming initially empty base output URI
Status: NEW
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 Test Suite (show other bugs)
Version: Recommendation
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Abel Braaksma
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-06 21:01 UTC by Michael Kay
Modified: 2019-03-08 14:33 UTC (History)
0 users

See Also:


Attachments

Description Michael Kay 2019-03-06 21:01:58 UTC
Tests current-output-uri-013, -014, -015, all assume that the current-output-uri will be initially empty for these tests. This seems to be placing unwarranted dependencies on the behaviour of the test driver.

(a) there seems to be nothing explicit in the test metadata for these tests to say that the test should be invoked with an absent base output URI.

(b) there's nothing in the spec that says a product must provide a way of invoking a transformation with an absent base output URI.
Comment 1 Abel Braaksma 2019-03-07 19:27:17 UTC
On (a), I agree, we don't make this explicit. Perhaps in line with bug #30413, we could make this explicit, for instance with "#absent"? I can see how otherwise any test without an explicit base output URI could currently fail.

On (b), we say this in the spec:

The current output URI may also be absent in the event that a stylesheet is invoked without supplying a base output URI. 

And:

It is acceptable for the base output URI to be absent, provided no constructs (such as xsl:result-document) are evaluated that depend on the value of the base output URI. 

And:

The way in which a base output URI is established is implementation-defined.

----------

I may be misunderstanding this, but the way I read this in the spec is that the base output URI can be absent and that it happens in an implementation-defined way. One such scenario I can imagine is for instance inside a browser, where serialization is not possible, or basically any other situation where serialization is not possible, in which case a base output URI makes no sense.

But if a processor does not need to have such provision, how can we create tests for such a scenario? We could add a dependency?
Comment 2 Abel Braaksma 2019-03-08 14:33:13 UTC
If we agree on bug #30413 I will update these tests with "#absent" so that processors that supporting clearing the initial base output URI can run these tests.