Bug #4804
closedFailure in XX compiler, incorrect type inferencing
100%
Description
See bug #4802
When compiling the stylesheet included in that bug entry under the XX compiler, it fails:
Compiling stylesheet /Users/mike/bugs/2020/4802-Priest/webApp.xsl
Failed to compile stylesheet: Static error in XPath on line 70 in 4802-Priest/webApp.xsl { array:for-each($cells, function ($c) { f:swapRowCol($c, array {}) })}:
Required type of second argument of f:swapRowCol() is array(map(*)): actual type is array(xs:error0)
Error Q{http://www.w3.org/2005/xqt-errors}XPTY0004 at xpath.xsl#963
Failed to compile stylesheet
Also revealed in that bug report is that asynchronous execution complicates the diagnostics. When first run, the -master: document was not well-formed XML. The stylesheet compilation and loading of the master document happen in parallel, which means that the messages from both errors get output, which is rather confusing. I'm not sure there's much we can do about that.
Updated by Michael Kay about 4 years ago
The basic problem here is that an empty array is a valid instance of array{map(*))
and isn't being recognised as such.
There's a secondary problem with the way the information is given: the inferred type of the empty array should be rendered as array(empty-sequence())
rather than array(xs:error0)
.
Updated by Michael Kay about 4 years ago
- Category set to XPath Conformance
- Status changed from New to Resolved
- Priority changed from Low to Normal
- Applies to JS Branch 2.0, Trunk added
- Fix Committed on JS Branch Trunk added
Fixed. Changes:
-
When reporting static errors in XPath expressions, do normalize-space() to make multi-line expressions presentable
-
Recognise the sequence type empty-sequence() in SequenceType.toString()
-
In TypeHierarchy.computeRelationship, recognise that the empty type is a subtype of every other type.
Updated by Community Admin almost 4 years ago
- Applies to JS Branch 2 added
- Applies to JS Branch deleted (
2.0, Trunk)
Updated by Debbie Lockett almost 4 years ago
- Fix Committed on JS Branch 2 added
- Fix Committed on JS Branch deleted (
Trunk)
Updated by Debbie Lockett almost 4 years ago
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Fixed in JS Release set to Saxon-JS 2.1
Bug fix applied in the Saxon-JS 2.1 maintenance release.
Please register to edit this issue
Also available in: Atom PDF Tracking page