[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] XPath expression that yields the same result as xsl:f
Hello XSLT/XPath experts! My XML document consists of a series of rows. Each row is identified by the combination of two child elements: ARPT__IDENT and TRM__IDENT. I want to group the rows. A group consists of those rows with the same ARPT__IDENT and TRM__IDENT. This XML document: <Test> <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> <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> </Test> is to be grouped this way: <results> <group> <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> </group> <group> <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> </group> </results> I can use xsl:for-each-group to perform the grouping: <xsl:template match="Test"> <xsl:variable name="rows" select="row" as="element(row)*"/> <results> <xsl:for-each-group select="$rows" group-by="concat(ARPT__IDENT, '|', TRM__IDENT)"> <group> <xsl:sequence select="current-group()" /> </group> </xsl:for-each-group> </results> </xsl:template> However, I want to create a variable -- $groups -- which holds the groups and then iterate over the variable: <results> <xsl:for-each select="$groups"> <group> <xsl:sequence select="." /> </group> </xsl:for-each> </results> What XPath expression will yield the desired value for $groups? <xsl:variable name="groups" select="???" /> Is there an XPath 2.0 expression that can be used? /Roger
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|