[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Grouping simple flat structure
There's a very early description of this problem at http://www.stylusstudio.com/xsllist/199910/post00560.html and a solution using the technique often called "sibling recursion" at http://www.stylusstudio.com/xsllist/199910/post50560.html (Interesting that these posts predate the publication of XSLT 1.0!) Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Ian Proudfoot [mailto:ian.proudfoot@xxxxxxxxxxx] > Sent: 17 March 2008 12:28 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Grouping simple flat structure > > I have a blind spot when it comes to grouping flat XML > structure using XSLT 1.0. > > My source XML structure is typically as follows (simplified > for clarity): > > <section> > <title/> > <warning/> > <warning/> > <para/> > <warning/> > <warning/> > <para/> > <para/> > </section> > > I would like to group adjacent <warning> elements to give > this structure: > > <section> > <title/> > <w-group> > <warning/> > <warning/> > </w-group> > <para/> > <w-group> > <warning/> > <warning/> > </w-group> > <para/> > <para/> > </section> > > I've tried using Muenchian Grouping, but I'm going wrong > somewhere. I started by trying to identify the start of each > group using <xsl:template > match="warning[(preceding-sibling::*[1])[not(self::warning)]]" >... As a starting point is this correct, it does seem to > capture the first warning in each group? After that I cannot > grab the following <warning> sibling elements correctly. > > > For this project I am stuck with XSLT 1.0 and Xalan-C > > Thanks for all help. > Ian
|
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
|