Subject: RE: [xsl] [XSLT2] Grouping by matching properly nested pairs From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 15 Nov 2006 23:57:55 -0000 |
I think you do want group-starting-with="start", but constrained to the "top-level" start elements, thus: group-starting-with="start[count(preceding-sibling::start) = count(preceding-sibling::end)]" then you need to do the grouping again recursively on these groups to get the next level, and so on. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Christian Roth [mailto:roth@xxxxxxxxxxxxxx] > Sent: 15 November 2006 21:46 > To: XSL List > Subject: [xsl] [XSLT2] Grouping by matching properly nested pairs > > (A grouping question - again...) > > The task is to create a nested grouping from a flat list of > elements based on matching "properly nested" <start/> and > corresponding <end /> elements. Nesting depth is arbitrary. > > Source XML: > > <root> > <a /> > <start /> > <b /> > <start /> > <c /> > <end /> > <d /> > <start /> > <start /> > <e /> > <end /> > <f /> > <end /> > <g /> > <end /> > </root> > > or, for better legibility indented with the intended result in mind: > > <root> > <a /> > <start /> > <b /> > <start /> > <c /> > <end /> > <d /> > <start /> > <start /> > <e /> > <end /> > <f /> > <end /> > <g /> > <end /> > </root> > > > The result should be: > > <root> > <a /> > <group> > <b /> > <group> > <c /> > </group> > <d /> > <group> > <group> > <e /> > </group> > <f /> > </group> > <g /> > </group> > </root> > > How is this best tackled? group-starting-with="" doesn't seem > to be the way to go, because it will create non-nested groups > on each <start />, but the groups need to be nested. > > -Christian
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] [XSLT2] Grouping by matching , Christian Roth | Thread | Re: [xsl] [XSLT2] Grouping by match, Christian Roth |
[xsl] FW: generic SpreadsheetML tra, Rick Roen | Date | Re: [xsl] [XSLT2] Grouping by match, Christian Roth |
Month |