Project

Profile

Help

Bug #2413

closed

Internal problem: Base value for indexed lookup is not indexable

Added by Michael Kay over 9 years ago. Updated almost 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Internals
Sprint/Milestone:
Start date:
2015-07-06
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

See test case si-for-each-802.

This is a variant of si-for-each-801 changed to use xsl:stream.

The "internal problem" message is output repeatedly, but the test case completes successfully.

Changing the test to not use streaming (i.e. changing xsl:stream to xsl:for-each select=doc(...)) removes the problem.

We have an expression //node()[name() = $param] where the type of $param is not declared (so it could be a sequence of names). In the non-streaming case, we're building a key index for $param, and evaluating the predicate by looking up name() in this index. In the streaming case, data($param) is being extracted from the predicate as a local variable, which gets identified as indexable (refCount = FILTERED), but which is evaluated as a MemoClosure rather than as an IndexedValue.

Please register to edit this issue

Also available in: Atom PDF