[Bug 29732] New: [xslt30] Streamable stylesheet functions: shallow-descent example

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

            Bug ID: 29732
           Summary: [xslt30] Streamable stylesheet functions:
                    shallow-descent example
           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: ---

Our example of a shallow-descent streamable function does not satisfy the rules
in the spec. The rules say:

If the declared type of the streaming parameter permits more than one node,
then a variable reference referring to the streaming parameter is roaming and
free-ranging. 

But the declared type in this case is element(*).

(It seems somewhat perverse that this should be expressed as a rule on the
variable reference, rather than a rule on the function signature - as if it's
OK to specify element()* in the function signature so long as the argument is
never used. But if that's the case then the function body can't possibly be
striding. It would seem more sensible to have a rule against the function
signature. We might also note that if the first argument does not permit nodes,
then the function body will never be striding.)

I don't recall the reasoning that led us to allow multiple nodes in the call of
an absorbing function, but not to allow the same in a call of a shallow-descent
function

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

Received on Friday, 15 July 2016 10:13:09 UTC