Bug #1992
closedTemplate pattern incorrectly identified as never matching
100%
Description
The template:
xsl:template match="@*[xp:is.AVT(.)]"
with function:
<xsl:function name="xp:is.AVT" as="xs:boolean">
<xsl:param name="test" as="attribute()"/>
<xsl:sequence select="contains($test,'{')"/>
</xsl:function>
is incorrectly warned as 'Pattern will never match anything', and does not execute. Works correctly in 9.5.1.3. Running as SaxonEE and the fault occurs with both -opt:0 and byte code generation.
Files
Related issues
Updated by John Lumley almost 11 years ago
Simplest test is to to run the stylesheet with itself as input.
Updated by John Lumley almost 11 years ago
Sorry - first line should read:
xsl:template match="@*[xp:is.AVT(.)]"
(There appears to be a problem in input within the text box - the predicate should read:
xp:is.AVT'OPENBRACKET' 'DOT' 'CLOSEBRACKET'
Updated by Michael Kay almost 11 years ago
- Priority changed from High to Normal
This is caused by an error in the patch for bug #1908 (and reveals the wisdom of our normal policy of never trying to implement performance improvements in a maintenance release...). Basically that patch works for patterns that match element nodes, but not for those that match attribute or namespace nodes.
Updated by Michael Kay almost 11 years ago
- Status changed from New to In Progress
Updated by Michael Kay almost 11 years ago
- Status changed from In Progress to Resolved
Resolved on hte 9.5 branch. The test is currently crashing on the 9.6 branch for unrelated reasons (at the time we're trying to rewrite the pattern filter, the function call has not yet been fixed up, as a consequence of changes introduced for packaging).
Added as test case mode-0011 in the W3C XSLT 3.0 test suite.
Updated by O'Neil Delpratt over 10 years ago
- Status changed from Resolved to Closed
- % Done changed from 0 to 100
- Found in version changed from 9.5.1.4 to 9.5
- Fixed in version set to 9.5.1.5
Bug fix applied in Saxon maintenance release 9.5.1.5
Please register to edit this issue