saxon:evaluate() fails in for-each loop
The Saxon XSLT and XQuery processor, developed by Saxonica
Brought to you by:
mhkay
Following the fixes applied to saxon:evaluate() in
7.9.1, a dynamically evaluated expression that (a)
contains local variables, and (b) is used in an
xsl:for-each, or another context where lazy evaluation
occurs, loses access to its own local variables and
typically fails with a NullPointerException trying to
reference a variable.
The source code fix is in Evaluate.java line 160, change
SequenceIterator result = pexpr.expression.iterate(c2);
to:
SequenceIterator result =
ExpressionTool.lazyEvaluate(pexpr.expression,
c2).iterate(c2);
Test case added: saxon76
MK