[Bug 29120] New: [xslt 3.0] last() in a streamable xsl:merge

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

            Bug ID: 29120
           Summary: [xslt 3.0] last() in a streamable xsl:merge
           Product: XPath / XQuery / XSLT
           Version: Last Call drafts
          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 appear to have no rule preventing the use of last() in a streamable
xsl:merge, either when computing a merge key, or within xsl:merge-action. In
the first case the value of last() is the number of items in the input stream;
in the second case it is the number of groups (distinct merge key values).
Neither can be evaluated without lookahead.

I think the problem can be solved by adding a fifth condition to the list in
15.4 Streamable Merging:

5. Neither the select attribute of any xsl:merge-key child of the
xsl:merge-source element, nor the sequence constructor within the sibling
xsl:merge-action element, contains any function call or named function
reference to either of the functions fn:last or fn:function-lookup.

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

Received on Thursday, 10 September 2015 21:26:28 UTC