[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Grouping of irregular XML
Simplest answer is to use XSLT 2.0 with <xsl:for-each-group select="*" group-adjacent="node-name(.)"> <xsl:choose> <xsl:when test="current-group[1] instance of element(aaa)"> <ol> <xsl:copy-of select="current-group()"/> </ol> </xsl:when> <xsl:otherwise> <xsl:copy-of select="current-group()"/> </ </ </ For XSLT 1.0 solutions, search under "XSLT positional grouping". Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Paul Clarke [mailto:pclarke@xxxxxxxxxxxxxxxx] > Sent: 21 February 2006 07:02 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Grouping of irregular XML > > Hi All, > > I'm just coming back to XSLT after a long lay off doing other > things and am > struggling with grouping irregular xml content from a converter. > > I have this as an input. > > <body> > <aaa> > .. > </aaa> > <aaa> > .. > </aaa> > <bbb> > .. > </bbb> > <aaa> > .. > </aaa> > <aaa> > .. > </aaa> > </body> > > And I need to put the groups of <aaa> elements in a deeper structure > > <body> > <ol> > <aaa> > .. > </aaa> > <aaa> > .. > </aaa> > </ol> > <bbb> > .. > </bbb> > <ol> > <aaa> > .. > </aaa> > <aaa> > .. > </aaa> > </ol> > </body> > > Should I be using xsl:key here or another method? > > Thanks > > Paul Clarke
|
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
|