Subject: RE: [xsl] FW: Medal Table From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Fri, 14 Jan 2005 15:48:18 -0000 |
Grouping problems like this are easy in XSLT 2.0 <xsl:for-each-group select="Table" group-by="nation"> <p><xsl:value-of select="current-grouping-key()"/></p> <xsl:for-each-group select="current-group()" group-by="medal"> <xsl:sort select="index-of(('Gold', 'Silver', 'Bronze'), medal)"/> <xsl:value-of select="count(current-group()), current-grouping-key()"/> <xsl:if test="position()!=last()">, </xsl:if> </xsl:for-each-group> </xsl:for-each-group> not tested. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Gavin Lyons (i386) [mailto:admin@xxxxxxxx] > Sent: 14 January 2005 15:19 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] FW: Medal Table > > > Hello XSL-list, > > I hope someone can provide some insight and help :) > > I would like and hope to output Nations by the numbers of > Golds first, then > Silver and then Bronze in this order. > > like this > AUT > 3 Gold, 1 Silver > JAP > 3 Gold > GBR > 2 Gold, 1 Bronze > > I'm just not sure the best way to tackle the problem > > With thanks, > Gavin Lyons > http://www.i386.com > > XSL > --- > <xsl:for-each select="Table[not (nation='')]"> > <xsl:sort select="nation" /> > <xsl:variable name="nation"><xsl:value-of > select="nation"/></xsl:variable> > <xsl:value-of select="nation"/> <br/> > - Gold <xsl:value-of > select="count(../Table[medal='Gold' and nation=$nation])"/> > - Silver <xsl:value-of > select="count(../Table[medal='Silver' and nation=$nation])"/> > - Bronze <xsl:value-of > select="count(../Table[medal='Bronze' and nation=$nation])"/> > </xsl:for-each> > > XML > --- > <Table> > <athlete>Jones John</athlete> > <nation>GBR</nation> > <location>Bormio</location> > <date>01/29/2005</date> > <medal>Gold</medal> > <discipline>Super-G</discipline> > <gender>Mens</gender> > <lastmodified></lastmodified> > <editedby></editedby> > </Table> > <Table> > <athlete>Burt Sample</athlete> > <nation>FRA</nation> > <location>Bormio</location> > <date>01/29/2005</date> > <medal>Silver</medal> > <discipline>Super-G</discipline> > <gender>Mens</gender> > <lastmodified></lastmodified> > <editedby></editedby> > </Table> > > > > > > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.10 - Release Date: 10/01/2005 > > > -- > No virus found in this outgoing message. > Checked by AVG Anti-Virus. > Version: 7.0.300 / Virus Database: 265.6.10 - Release Date: 10/01/2005
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] FW: Medal Table, António Mota | Thread | [xsl] text() handling, Robert Soesemann |
[xsl] text() handling, Robert Soesemann | Date | Re: [xsl] Comparing two XML documen, Rahil Qamar Yahoo |
Month |