Project

Profile

Help

Bug #3426

closed

No binding slot allocated for xsl:apply-templates call within xsl:override

Added by Michael Kay about 7 years ago. Updated about 7 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
XSLT 3.0 packages
Sprint/Milestone:
-
Start date:
2017-09-04
Due date:
% Done:

100%

Estimated time:
Legacy ID:
Applies to branch:
9.8
Fix Committed on Branch:
9.8
Fixed in Maintenance Release:
Platforms:

Description

When an xsl:apply-templates instruction with no mode attribute appears within a template rule within the xsl:override element, no explicit binding slot is allocated for binding the mode. This does not cause a run-time error because there is a fallback strategy of using the unnamed mode in the same package. However, this strategy is not necessarily correct in all cases.

There are surprisingly few test cases that exercise this condition: one is use-package-170, and in this case the fallback strategy works successfully.

The problem reveals itself when running use-package-170 under Saxon-JS, which does not have the same fallback strategy. In this case the failure to allocate a binding slot (resulting in the value bSlot="-1" in the SEF file) is catastrophic.

Please register to edit this issue

Also available in: Atom PDF