[Bug 29670] New: [XSLT30] xsl:accumulator/ @initial-value accessing the global context item and streamability

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

            Bug ID: 29670
           Summary: [XSLT30] xsl:accumulator/@initial-value accessing the
                    global context item and streamability
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: abel.braaksma@xs4all.nl
        QA Contact: public-qt-comments@w3.org
  Target Milestone: ---

> ACTION 2016-05-26-001: ABr to raise an issue analogous to Bug 29499, addressing accumulators.

Similar to global variables, xsl:accumulator can access the global context item
(GCI) through the @initial-value attribute. The rules that apply when the GCI
is streamable are covered in 3.5.6:

Under 3.5.6 Declaring the Global Context Item we say:

   "If the streamable attribute is present with the value yes, then the select
expression or contained sequence constructor of every global xsl:variable and
xsl:param declaration in the containing package must be grounded and
motionless, when assessed with a context posture of striding, and a context
item type based on the declared type of the global context item. The
consequences of violating this rule depend on the conformance level of the
processor, as described in 19.10 Streamability Guarantees."


This section leaves out xsl:accumulator/@initial-value, which can also access
the GCI. Furthermore, the resolution of Bug 29499 may also apply here, such
that:

1) if import precedence overrules an accumulator, the overruled accumulator
need not be analyzed.

2) if the accumulator is *not* used, it is still an error if the @initial-value
expression is not motionless + grounded.

3) we should perhaps stress (in a Note?) that it does *not* matter whether the
accumulator is declared streamable or not, this rule applies to the GCI, not to
the (initial) match selection or other streamable trees a *streamable*
accumulator can be applied to. The xsl:accumulator-rule declarations *cannot*
access the GCI.

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

Received on Friday, 27 May 2016 09:52:58 UTC