[xsl] Question on streaming and grouping with nested keys

Subject: [xsl] Question on streaming and grouping with nested keys
From: "Felix Sasaki felix@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 14 Jul 2017 07:09:06 -0000
I want to analyse a list of transactions in XSLT 3.0 streaming mode.
Transactions should be grouped by a key which is nested inside each
transaction (see SUBITEM2.2/GROUPING-KEY below). For the grouped
transactions, there are items to count or items with numeric values to some
up, see ITEM1 and ITEM2/SUBITEM2.1.


<TRANSACTION-LIST>
  <TRANSACTION>
    <ITEM1> something to count </ITEM1>
    <ITEM2>
      <SUBITEM2.1> something to sum up</SUBITEM2.1>
      <SUBITEM2.2> ...
        <GROUPING-KEY>some-key</GROUPING-KEY>
      </SUBITEM2.2>
    </ITEM2>
  </TRANSACTION> ...
</TRANSACTION-LIST>

  The output should be a list as follows:
- Transaction following grouping key value 1:
    Numbers of ITEM1
    Sum of ITEM 2
- Transactions following grouping key value 2, 3, ...n: the same list with
other values.

I am wondering if this is possible with XSLT 3.0 streaming, since then the
XSLT processor "sees" the TRANSACTION element, it does not yet see the
nested grouping key.

- Felix

Current Thread