xsl-list
[Top] [All Lists]

Re: [xsl] Selecting similar XML nodes by a sort criteria

2007-10-04 14:42:16

so this is a grouping problem (where you want to colour each group the
same colour) as always they are easier in xslt2 but easy enough in xslt1
using a standard idiom such as muenchiam grouping.

<xsl:for-each
select="zipcode/book[generate-id()=generate-id(key('b',@areacode)[1])]">
<xsl:variable name="color">
<xsl:choose>
<xsl:when test="position() mod 2=1">blue</xsl:when>
<xsl:otherwise>grey</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:for-each select="key('b',@areacode)">
<tr bgcolor="{$color}">...
</tr>
</xsl:for-each>
<xsl:for-each>


or in xslt2 the same but with more natural looking instructions


<xsl:for-each-group select="zipcode/book" group-by="@areacode">
<xsl:variable name="color" 
  select="if (position() mod 2 = 1) then 'blue' else 'grey'"/>
<xsl:for-each select="current-group()">
<tr bgcolor="{$color}">...
</xsl:for-each>
</xsl:for-each-group>


David


________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>