W3C home > Mailing lists > Public > public-qt-comments@w3.org > September 2016

[Bug 29813] New: [xslt30] Errors in accumulators

From: <bugzilla@jessica.w3.org>
Date: Thu, 08 Sep 2016 18:43:20 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-29813-523@http.www.w3.org/Bugs/Public/>
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29813

            Bug ID: 29813
           Summary: [xslt30] Errors in accumulators
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: XSLT 3.0
          Assignee: mike@saxonica.com
          Reporter: mike@saxonica.com
        QA Contact: public-qt-comments@w3.org
  Target Milestone: ---

We briefly touched on the subject of dynamic errors in evaluating an
accumulators today, and it occurred to me that the spec has very little to say
on the topic. Since accumulators are evaluated "in the background", it is not
clear how a dynamic error should be handled, or whether it can be caught.

I propose that a dynamic error that occurs while evaluating
xsl:accumulator/@initial-value or xsl:accumulator-rule/@select should (only)
cause a "subsequent" call on accumulator-before() or accumulator-after() to
fail with (the same) dynamic error. In other words, the error is "held back"
until the next time the accumulator is referenced (and by implication it goes
unreported if the accumulator is not subsequently referenced).

This fits well with a lazy evaluation strategy. If an accumulator is evaluated
in a parallel thread to the main processing then the accumulator thread must
hold on to the error until the time comes to report it. Dynamic errors become
capable of a predictable try/catch behaviour.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Thursday, 8 September 2016 18:43:28 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:58:02 UTC