Subject: Re: [XSLT2] Some common, generic grouping problems
From: David Carlisle <davidc@xxxxxxxxx>
Date: Fri, 30 Jun 2006 09:32:19 +0100
|
> oops I got the first one wrong, still in some places in the world it's
> not midnight,someone else can fix it before I wake up:-)
apparently not:-)
So here is a fix (just a change to the light red clause)
David
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="root">
<root>
<xsl:for-each-group select="*"
group-starting-with="*[@color=('dark-red','light-red')]">
<xsl:choose>
<xsl:when test="@color=('light-red')">
<xsl:copy-of select="current-group()[position()!=1]"/>
</xsl:when>
<xsl:when test="@color=('dark-red')">
<red>
<xsl:copy-of
select="current-group(),current-group()[last()]/following-sibling::*"/>
</red>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="current-group()"/>
</xsl:otherwise>
</xsl:choose>
</xsl:for-each-group>
</root>
</xsl:template>
</xsl:stylesheet>
|