The optimization of tail calls introduced in Saxon 7.5
fails in two particular circumstances: the effect is
that a tail call of xsl:call-template or
xsl:apply-templates is simply not executed, so there is
output missing from the result tree.
One situation is where the tail call occurs in an
xsl:matching-substring or xsl:non-matching-substring
element.
Another is where the tail call occurs in a template
that is invoked by a built-in template.
A tail call is an xsl:apply-templates or
xsl:call-template instruction that is the last thing a
template does. A circumvention is to add <xsl:value-of
select="''"/> after the tail call.
Applies to Saxon 7.5 only; source code fixed (at least
for the above two cases).
Michael Kay
XSLT conformance
v7.5
Public
| Field | Old Value | Date | By |
|---|---|---|---|
| status_id | Open | 2003-06-27 18:56 | mhkay |
| resolution_id | None | 2003-06-27 18:56 | mhkay |
| close_date | - | 2003-06-27 18:56 | mhkay |
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use