|
Subject: RE: [xsl] Grouping of irregular XML From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 21 Feb 2006 09:11:20 -0000 |
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: [xsl] 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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] Grouping of irregular XML, Paul Clarke | Thread | [xsl] RSS transform, THUFIR HAWAT |
| Re: [xsl] problem in xsl:value-of, António Mota | Date | Re: [xsl] problem in xsl:value-of, Andrew Franz |
| Month |