Bug #2344
closed
Expression 'position() eq last()' wrongly evaluated inside an xsl:result-document instruction
Category:
XSLT conformance
Fix Committed on Branch:
9.6
Fixed in Maintenance Release:
Description
When an expression 'position() eq last()' (or similarly 'position() ne last()') is used inside the body of an xsl:result-document instruction (for example as the select attribute of an xsl:value-of), but the context for these functions is outside the instruction, the wrong results are produced.
Bug found when running the 9.7 development branch, but also appears to be a bug in 9.5 and 9.6.
- Status changed from New to In Progress
- Assignee set to Debbie Lockett
Fix: implemented hasNext() method on ManualIterator (the method previously always returned false). So that the IsLastExpression evaluates correctly in the case that the current iterator is a ManualIterator (for instance when processing an xsl:result-document instruction).
Patch applied on 9.5, 9.6, and development 9.7 branches.
Test to be added to the XSLT 3.0 test suite.
- % Done changed from 0 to 80
- Fixed in version set to 9.5.1.10
Bug fix applied in the Saxon 9.5.1.10 maintenance release.
Bug issue to be left open until test case is added to test suite.
- Category set to XSLT conformance
- Status changed from In Progress to Resolved
- Priority changed from Low to Normal
- Found in version changed from 9.7 to 9.6
Closing this now even though there's no regression test.
- Status changed from Resolved to Closed
- % Done changed from 80 to 100
- Fixed in version changed from 9.5.1.10 to 9.6.0.6
Bug fix applied in the Saxon 9.6.0.6 maintenance release.
XSLT 3.0 test insn/result-document-1301 was added 2015-05-06.
- Sprint/Milestone set to 9.6.0.6
- Applies to branch 9.6 added
- Fix Committed on Branch 9.6 added
- Fixed in Maintenance Release 9.6.0.6 added
Please register to edit this issue
Also available in: Atom
PDF