xsl-list
[Top] [All Lists]

Re: [xsl] [ANN] Saxon 9.7 released today

2015-11-29 11:45:15
Michael Kay mike(_at_)saxonica(_dot_)com wrote:
Following just a week after the XSLT 3.0 Candidate Recommendation
from W3C, we are delighted to announce the release today of Saxon
9.7.

It is great to have an implementation to explore the candidate recommendation.

I have a question on http://www.w3.org/TR/xslt-30/#element-for-each-group, the Saxon 9.7 documentation at http://saxonica.com/html/documentation/xsl-elements/for-each-group.html says:

---------------------------------------------------------------------
XSLT 3.0 introduces the ability to bind variables to the current group and the current grouping key as an alternative to using the functions current-group() and current-grouping-key(). The advantage of using variables is that they have static scope, so the optimizer has more chance to see what the stylesheet is doing with each group. Streamed processing is only possible if the new variables are used, as this enables the processor to determine whether or not the use of the current group is streamable.
---------------------------------------------------------------------

How can I bind variables to use streaming in the current candidate recommendation version of XSLT 3.0?


An earlier draft in http://www.w3.org/TR/2012/WD-xslt-30-20120710/#xsl-for-each-group defined

<xsl:for-each-group
  select = expression
  group-by? = expression
  group-adjacent? = expression
  group-starting-with? = pattern
  group-ending-with? = pattern
  bind-group? = eqname
  bind-grouping-key? = eqname
  composite? = "yes" | "no"
  collation? = { uri } >
  <!-- Content: (xsl:sort*, sequence-constructor) -->
</xsl:for-each-group>

where I understand the attributes bind-group and bind-grouping-key to have that role, but I don't see anything like that in the current definition with


<xsl:for-each-group
  select = expression
  group-by? = expression
  group-adjacent? = expression
  group-starting-with? = pattern
  group-ending-with? = pattern
  composite? = boolean
  collation? = { uri } >
  <!-- Content: (xsl:sort*, sequence-constructor) -->
</xsl:for-each-group>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>