This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 23355 - Predicate with position() in incrementally consuming expressions is not allowed
Summary: Predicate with position() in incrementally consuming expressions is not allowed
Status: CLOSED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XSLT 3.0 (show other bugs)
Version: Working drafts
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Michael Kay
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-25 15:58 UTC by Abel Braaksma
Modified: 2014-05-15 14:00 UTC (History)
0 users

See Also:


Attachments

Description Abel Braaksma 2013-09-25 15:58:12 UTC
The following expression is currently not streamable:

<xsl:for-each select="A/B[position() <= 10]">
    ...
</xsl:for-each>

the reason for it being not streamable is that position is focus dependent and focus dependent functions make the whole expression free ranging. It seems reasonable to relax that rule for position().
Comment 1 Michael Kay 2013-10-24 08:55:06 UTC
I believe this is fixed in the latest draft. The position() function is now grounded and motionless: see section 19.8.8.9.