Bug #4057
closed
Code for allocating slots to xsl:iterate parameters is not present in Saxon-HE
Fix Committed on Branch:
9.9
Fixed in Maintenance Release:
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.
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.
- 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
.
- % 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.
- Status changed from Resolved to Closed
Please register to edit this issue
Also available in: Atom
PDF