[Bug 29120] [xslt 3.0] last() in a streamable xsl:merge

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

Abel Braaksma <abel.braaksma@xs4all.nl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |abel.braaksma@xs4all.nl

--- Comment #2 from Abel Braaksma <abel.braaksma@xs4all.nl> ---
We could say that the context size is unavailable and any attempt to get the
context size is an error while streaming. This would prevent extension
functions or instructions to somehow make a call to fn:last().

Another observation is that it is therefore not possible to create a specific
action on the last item of a merge. I.e., it is not possible to get a sum, a
total or a summary at the end. I am not sure if accumulators can help
circumvent this, because after the xsl:merge instruction they will be out of
scope. We could consider a child <xsl:last-merge-action> (similar to
xsl:on-completion), but at this stage we stopped adding new features ;). Or is
there another workaround?

I don't think it is necessary to ban fn:function-lookup. Since the context is a
grounded snapshot, one can circumvent this with assigning the result of
fn:function-lookup to a variable and calling that variable from within the
xsl:merge-action. Hence I think prohibiting getting the context size may be an
easier way to prevent this.

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

Received on Wednesday, 23 September 2015 13:04:17 UTC