[Bug 26439] [XSLT30] fn:fold-left in streamability rules can take type-determined usage into account (from note in test)

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

--- Comment #2 from Michael Kay <mike@saxonica.com> ---
Proposal:

fold-left() should use the GSR, with the operand usage of the first argument
being the type-determined usage based on the type of the second argument of the
supplied function.

Consider:

fold-left($seq, 0, declare function ($n as numeric, $m as numeric) as numeric
{$n+$m})

where $seq is striding and consuming.

The TDU of $m is absorption, therefore the OU of $seq is absorption, therefore
fold-left is grounded and consuming. 

How do we know it's grounded? Because both $zero and $fn are grounded...

We think there's potential for going beyond this e.g when using streamable
stylesheet functions or known built-in functions but it gets tricky.

Still needs further work to flesh out the detail.

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

Received on Friday, 1 August 2014 11:14:17 UTC