Subject: [xsl] Re: XPath expression that yields the same resultasxsl:for-each-group? From: "Costello, Roger L. costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 30 May 2019 21:46:26 -0000 |
Hi Folks, Some fun queries ... Context Node: the Test element (root element). Collect the set of row elements and store them in an XSLT variable: <xsl:variable name="rows" select="row" as="element(row)*" /> Group the rows using the composite key ARPT__IDENT | TRM__IDENT and store the groups in an XSLT variable: <xsl:variable name="groups" as="array(element(row))*" select=" let $keys := distinct-values($rows/concat(ARPT__IDENT, '|', TRM__IDENT)) return for $i in $keys return array {$rows[$i = concat(ARPT__IDENT, '|', TRM__IDENT)] } "/> How many groups are there? Query: count($groups) Result: 2 What is the content of the first group? Query: $groups[1] Result: <row> <ARPT__IDENT>A</ARPT__IDENT> <TRM__IDENT>X</TRM__IDENT> <Data>Foo</Data> </row> <row> <ARPT__IDENT>A</ARPT__IDENT> <TRM__IDENT>X</TRM__IDENT> <Data>Bar</Data> </row> What is the content of the second group? Query: $groups[2] Result: <row> <ARPT__IDENT>A</ARPT__IDENT> <TRM__IDENT>Y</TRM__IDENT> <Data>Blah</Data> </row> <row> <ARPT__IDENT>A</ARPT__IDENT> <TRM__IDENT>Y</TRM__IDENT> <Data>Plugh</Data> </row> Wicked cool! Thanks for all your help! /Roger
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Re: XPath expression that, Martin Honnen martin | Thread | Re: [xsl] Re: XPath expression that, Martin Honnen martin |
Re: [xsl] Re: XPath expression that, Martin Honnen martin | Date | Re: [xsl] Re: XPath expression that, Martin Honnen martin |
Month |