|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: [XSLT2] Grouping by matching properly nested pairs
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: [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
|
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
|

Cart








