Project

Profile

Help

Bug #1918

closed

Incorrect W3C streamability analysis for filter expressions

Added by Michael Kay over 10 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Sprint/Milestone:
-
Start date:
2013-10-07
Due date:
% Done:

100%

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

Description

Given the code:

<xsl:variable name="thisNode" select="copy-of(.)"/>

<xsl:if test="$thisNode[tag[@k eq 'name:en'] and tag[@k eq 'name:ko']]">

where the context item is a streamed node, Saxon reports that the filter is not streamable according to W3C rules because it makes two downward selections.

Saxon is actually implementing the rules in the W3C draft correctly, but the rules in the (current published) W3C draft are incorrect.

Saxon implements two sets of streamability rules, the W3C rules and its own rules, and the Saxon rules in this case produce the correct answer, which means that streamed execution goes ahead. (The difference is that the Saxon rules recognise that the filter is being applied to a node which is not a streamed node.) The warning concerning the W3C rules is misleading, and will be removed.

Actions #1

Updated by Michael Kay over 10 years ago

  • Project changed from 4 to Saxon
Actions #2

Updated by O'Neil Delpratt over 10 years ago

  • Status changed from Resolved to Closed
  • % Done changed from 0 to 100
  • Fixed in version set to 9.5.1.3

Big fix applied in the Saxon 9.5.1.3 maintenance release.

Please register to edit this issue

Also available in: Atom PDF