[Bug 24524] xsl:iterate streamability issues

https://www.w3.org/Bugs/Public/show_bug.cgi?id=24524

--- Comment #4 from Michael Kay <mike@saxonica.com> ---
I believe rule 1 (for a grounded select expression) is correct. The
on-completion construct will normally be grounded, but not inevitably. It can
contain a call to current-group(), in which case it will be
roaming/free-ranging. It can also (now) contain a reference to a parameter of a
containing streamable stylesheet function:

<xsl:function name="f" streamable="yes">
  <xsl:param name="n"/>
  <xsl:iterate select="1 to 10">
    <xsl:on-completion select="data($n)"/>
  </xsl:iterate>
</xsl:function>

So we can't simply ignore the on-completion construct.

Rule 2 (for a non-grounded select expression) does need improvement.

I think it's simplest to insist for this case that the initializers of any
xsl:param children and also the xsl:on-completion construct are grounded and
motionless (more specifically, if they aren't, then the xsl:iterate instruction
is roaming & free-ranging.)

The "two operands" referred to in 2(b) are the select expression and the
contained sequence constructor.

With these additions/clarifications, I think rule 2 is correct.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Thursday, 15 May 2014 11:55:40 UTC