Actions
Bug #4346
closedStreamed optimization of xsl:copy doesn't converge
Start date:
2019-10-18
Due date:
% Done:
0%
Estimated time:
Legacy ID:
Applies to branch:
9.9, trunk
Fix Committed on Branch:
9.9, trunk
Fixed in Maintenance Release:
Platforms:
Description
Given a streamed xsl:copy instruction where the node kind that it applies to can't be determined statically, the expression is split into two:
if (kind = (attribute, namespace, text, comment, pi))
then copy-of(.)
else copy(....)
But typically the result goes through the optimizer more than once, and on the second pass through it becomes:
if (kind = (attribute, namespace, text, comment, pi))
then copy-of(.)
else if (kind = (attribute, namespace, text, comment, pi))
then copy-of(.)
else copy(....)
with the number of branches in the conditional increasing on each pass through the optimizer.
Seen in test case si-apply-templates-010.
Please register to edit this issue
Actions