[Bug 26328] [XSLT30] Streamable and non-streamable accumulators in grounded postures

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

Michael Kay <mike@saxonica.com> changed:

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

--- Comment #8 from Michael Kay <mike@saxonica.com> ---
After considerable email discussion the WG today agreed a solution to the
remaining problems. An outline of the solution is at
https://lists.w3.org/Archives/Member/w3c-xsl-wg/2014Sep/0016.html (member-only)
with some refinements recorded in the minutes of today's telcon. The essence of
the solution is:

* accumulator-before is unrestricted; it's a property of a node (like name())
that can be accessed at any time. The implication is that the system
(conceptually at least) calculates the acc-before value as soon as it
encounters the start tag of the node, and keeps the value until it hits the end
tag.

* accumulator-after is restricted by streamability rules, which have the effect
of ensuring that it is not streamable if it appears in a sequence constructor
prior to a consuming instruction.

* accumulators are allowed to invoke each other. A cycle is an error.
Implementations are allowed to report the error statically if they can. If it
isn't detected statically (e.g. because the accumulator names passed to the
functions are not string literals) then in the event of a cycle the processor
is allowed to fail catastrophically, analogous to the kind of failure permitted
for infinite function or template recursion (e.g. stack overflow or
non-termination).

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

Received on Thursday, 11 September 2014 19:27:55 UTC