Bug #4057
closedCode for allocating slots to xsl:iterate parameters is not present in Saxon-HE
100%
Description
In ExpressionTool.allocateSlots(), the code concerned with xsl:iterate
and xsl:next-iteration
is conditionally-compiled out for the Saxon-HE build. On the surface, this would make xsl:iterate
fail under Saxon-HE.
Rather than just fix it, I'd prefer to run some tests (a) to see if there really is a problem, and (b) if so, why our testing didn't find it.
Updated by Michael Kay over 5 years ago
I think the call on ((IterateInstr) exp).allocateParameterSlots(nextFree)
-- which is done twice under PE/EE, and not at all under HE -- actually serves no useful purpose. Commenting it out completely causes no "iterate" tests to fail.
The method allocateParameterSlots() has an odd comment "This is normally done during compilation, but not in the case of an xsl:iterate
instruction constructed dynamically to support xsl:copy/@on-empty
" The xsl:copy/@on-empty
attribute was in a draft of XSLT 3.0 and subsequently dropped; I think this confirms the notion that this is obsolete and redundant code.
Dropping this code.
Updated by Michael Kay over 5 years ago
- Category set to Internals
- Status changed from New to Resolved
- Applies to branch 9.9 added
- Fix Committed on Branch 9.9 added
Redundant code deleted from ExpressionTool
and IterateInstr
.
Updated by O'Neil Delpratt about 5 years ago
- % Done changed from 0 to 100
- Fixed in Maintenance Release 9.9.1.1 added
Bug fix applied to the Saxon 9.9.1.1 maintenance release.
Updated by O'Neil Delpratt about 5 years ago
- Status changed from Resolved to Closed
Please register to edit this issue