Subject: AW: Problems grouping adjacent siblings
From: "Huditsch Roman" <Roman.Huditsch@xxxxxxxxxxxxx>
Date: Thu, 30 Jun 2005 10:57:17 +0200
|
Hi
With the help of a colleague, I managed to get a working solution.
<xsl:template match="*[exp]">
<xsl:copy>
<xsl:for-each-group select="*" group-adjacent="if (self::exp) then
'remark' else 'other'">
<xsl:choose>
<xsl:when test="current-grouping-key() = 'other'">
<xsl:copy-of select="current-group()"/>
</xsl:when>
<xsl:otherwise>
<xsl:element name="{current-grouping-key()}">
<xsl:copy-of select="current-group()"/>
</xsl:element>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each-group>
</xsl:copy>
</xsl:template>
Thanks for the help!
wbr,
Roman
> -----Urspr|ngliche Nachricht-----
> Von: David Carlisle [mailto:davidc@xxxxxxxxx]
> Gesendet: Donnerstag, 30. Juni 2005 10:39
> An: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Betreff: Re: Problems grouping adjacent siblings
>
>
> You want to use group-adjacent, grouping on name() no need to
> use the sibling axis explictly here.
>
> David
>
> ______________________________________________________________
> __________
> This e-mail has been scanned for all viruses by Star. The
> service is powered by MessageLabs. For more information on a
> proactive anti-virus service working around the clock, around
> the globe, visit:
> http://www.star.net.uk
> ______________________________________________________________
> __________
|