Failure XTTE3090 with on-no-match=deep-skip
XSLT3 test case mode-1437a is failing XTTE3090 (no context node when evaluating template).
The reason is that the code implementing deep-skip (which for a document node actually invokes templates on the children) is setting the current iterator to a Join iterator without wrapping it in a Tracker. This means that the value of "current" is undefined, triggering the error condition.
Updated by Michael Kay about 3 years ago
- Status changed from New to Resolved
- Applies to JS Branch 2.0, Trunk added
- Fix Committed on JS Branch 2.0 added
Fixed. Changed the deep-skip code (mode.js#128) to
case K.DOCUMENT_NODE: case K.DOCUMENT_FRAGMENT_NODE: const c2 = context.newContext(false); c2.focus = Iter.Tracker(Axis.child(item)); mode.applyTemplates(c2, out); break;
Please register to edit this issue