Project

Profile

Help

Bug #2344

closed

Expression 'position() eq last()' wrongly evaluated inside an xsl:result-document instruction

Added by Debbie Lockett about 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Category:
XSLT conformance
Sprint/Milestone:
Start date:
2015-03-31
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.6
Fix Committed on Branch:
9.6
Fixed in Maintenance Release:
Platforms:

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.

Actions #1

Updated by Debbie Lockett about 9 years ago

  • 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.

Actions #2

Updated by O'Neil Delpratt about 9 years ago

  • % 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.

Actions #3

Updated by Michael Kay almost 9 years ago

  • 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.

Actions #4

Updated by O'Neil Delpratt almost 9 years ago

  • 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.

Actions #5

Updated by Debbie Lockett almost 9 years ago

XSLT 3.0 test insn/result-document-1301 was added 2015-05-06.

Actions #6

Updated by O'Neil Delpratt over 8 years ago

  • 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