This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
The streamability rules for stylesheet functions with streamability="ascent" (ยง19.8.5.7) appear to give incorrect results. The first argument of the function call is assigned an operand usage of inspection, and this results in a call such as f:ascend(.) being assessed as grounded and motionless ("inspection" of the context item is assumed to return a "property of the node", which is assumed to be grounded). Assigning a usage of transmission seems to work better. The function call then gets assessed as motionless and climbing.
See also Saxon bug #3916.
A further modification to the rules seems to be needed: if the return type of the function doesn't allow nodes, then the posture should be GROUNDED rather than CLIMBING. (Demonstrated by Saxon-specific test TestXslt30Streaming.testSimple rather than by any W3C test).
I agree. This would modify Rule 1 (s/inspection/transmission/) And Rule 6, which should perhaps point to the result of the "Rules of the function body": that one already determines whether the function can only ever return a grounded, or otherwise a potentially climbing result and is dependent on "type-adjusted posture".
See draft erratum E31 at https://htmlpreview.github.io/?https://github.com/w3c/qtspecs/blob/master/errata/xslt-30/html/xslt-30-errata.html#E31