- From: <bugzilla@jessica.w3.org>
- Date: Sat, 19 Nov 2016 23:08:26 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=30016 Bug ID: 30016 Summary: [xslt30ts] Tests cvt-015 and cvt-016 Product: XPath / XQuery / XSLT Version: Candidate Recommendation Hardware: PC OS: All Status: NEW Severity: normal Priority: P2 Component: XSLT 3.0 Test Suite Assignee: abel.online@xs4all.nl Reporter: mike@saxonica.com QA Contact: public-qt-comments@w3.org Target Milestone: --- I think these two tests can legitimately throw a type error. The tests were introduced to test bug 20874 concerning the use of curly braces in a value template. cvt-016 has: <out>{if ($d gt 1000) then 4 else function($x, $y){$x + $y}}</out> The "else" branch never executes, of course, but I think a type error can be reported statically here, because functions can never be atomized. The rules here are expressed somewhat informally: an implementation may signal a type error during the analysis phase in the same way as a static error, even if it occurs in part of the stylesheet that is never evaluated, provided it can establish that execution of a particular construct would never succeed There's room for debate here about whether the stylesheet contains a construct whose evaluation would never succeed. However, I think it's within the spirit of the rules to raise a compile-time error here: if the else branch were executed, then evaluation of the value template would fail with a type error. Allowing a type error here would not compromise the purpose of the test, which is to check that this construct can be parsed. But the purpose of the test would be better satisfied (at least with XP 3.1) with an array constructor, where there is no type error because atomization can succeed. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Saturday, 19 November 2016 23:08:32 UTC