[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

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


Subject: Re: [xsl] [ANN] Saxon 9.7 released today
From: "Martin Honnen martin.honnen@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 29 Nov 2015 17:45:08 -0000

Michael Kay mike@xxxxxxxxxxxx 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>


Current Thread
Keywords