[xsl] sequence numbering

Subject: [xsl] sequence numbering
From: "william locksman" <vsd18@xxxxxxxxxxxxxx>
Date: 26 Mar 2002 16:33:55 -0000
<products>
 <product id = "1">
 <name>product1</name>
  <weight>56</weight>
  <color>blue</color>
 </product>
 <product id = "2">
  <name>product2</name>
  <weight>56</weight>
  <color>red</color>
 </product>
 <product id = "3">
 <name>product3</name>
  <weight>56</weight>
  <color>red</color>
 </product>
 <product id = "4">
 <name>product4</name>
  <weight>56</weight>
  <color>blue</color>
 </product>
 <product id = "5">
  <name>product5</name>
  <weight>56</weight>
  <color>blue</color>
 </product>
</products>

for the above xml for all the color elements in the xml file,
get the products.. in other words group the products based on there colors
and then assosiate the products with a serial num . This serial id is
in the series of 1,2,3... 1 for the first product that is of a perticular color, 2 for the next product and so on..


xsl i wrote..

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
<xsl:template match="/">
<xsl:for-each select="//product/color">
<xsl:sort select="." data-type="text" order="descending"/>
<xsl:number format="1" count="product"/> ...<xsl:value-of select="."/>..<xsl:value-of select="../name"/>
<br></br>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>


with above xsl , I am getting an out put

3 ...red..product3

2 ...red..product2

5 ...blue..product5

4 ...blue..product4

1 ...blue..product1

which is quite understandable... But i wanted the output which should look like

1 ...red..product3

2 ...red..product2

1 ...blue..product5

2 ...blue..product4

3 ...blue..product1

that is for each of the colors of the same type i need the sequence number to start from 1

any suggestions and ideas will be most appreciated and helpful
many thanks in advance
bill..


XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list



Current Thread