[Bug 27571] [XSLT30] Streamability of xsl:function

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

Michael Kay <mike@saxonica.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |---

--- Comment #4 from Michael Kay <mike@saxonica.com> ---
I am re-opening because two problems have been found in the proposed solution.

Firstly, the rules for computing the streamability of a stylesheet function
allow it to be streamable in the case where the sweep is consuming and the
posture is roaming, provided the result is atomized. For example a function
with an atomic return type whose body is //section/head[1] might fall in this
category: this is not streamable because of document order.

Secondly, the proposed rules for determining the posture and sweep of a
function call require analysis of the body of the "target" function. The
concept of the "target" function is not properly defined, and is non-trivial in
the context of the package binding rules, xsl:override, etc. The attempt to
deetermine whether the target function is recursive doesn't properly handle
attempts to overrids the target function in a using package. There's no
description of what happens if the function is abstract.

I attach a revised proposal. This is more restrictive, mainly by requiring the
return value of a streamable function to be grounded. It still allows both
motionless and consuming functions, by requiring the user to assert this
distinction in the function signature, and preventing this property eing
overridden.

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

Received on Wednesday, 18 February 2015 12:23:49 UTC