Subject: RE: [xsl] sorting a table based on first column which contains both numbers and words From: "Robby Pelssers" <robby.pelssers@xxxxxxxxx> Date: Thu, 17 Dec 2009 16:53:14 +0100 |
Mm... damn.... I thought I needed to specify the data-type ;-( So I just came up with following solution: <xsl:template match="table"> <table> <xsl:variable name="numericRows" select="tr[string(number(td)) !='NaN']"/> <xsl:variable name="alphabeticRows" select="tr[string(number(td))='NaN']"/> <xsl:apply-templates select="$numericRows"> <xsl:sort select="td" data-type="number"/> </xsl:apply-templates> <xsl:apply-templates select="$alphabeticRows"> <xsl:sort select="td" data-type="text"/> </xsl:apply-templates> </table> </xsl:template> But I also tested without specifying any data-type and you're right ...aaargh.. <xsl:template match="table"> <table> <xsl:apply-templates select="tr"> <xsl:sort select="td"/> </xsl:apply-templates> </table> </xsl:template> Thx, You made life a lot easier ;-) Robby -----Original Message----- From: Andrew Welch [mailto:andrew.j.welch@xxxxxxxxx] Sent: Thursday, December 17, 2009 4:28 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] sorting a table based on first column which contains both numbers and words 2009/12/17 Robby Pelssers <robby.pelssers@xxxxxxxxx>: > Hi all, > > I have the use case where I need to sort a table based on it's first column. This column can contain only numbers but also a mix of words and numbers. See example below. > > <table> > <tr> > <td>5</td> > </tr> > <tr> > <td>3</td> > </tr> > <tr> > <td>Banana</td> > </tr> > <tr> > <td>Apple</td> > </tr> > </table> > > > I want following output (first sorted numerical and then alphabetically) > > <table> > <tr> > <td>3</td> > </tr> > <tr> > <td>5</td> > </tr> > <tr> > <td>Apple</td> > </tr> > <tr> > <td>Banana</td> > </tr> > </table> > > How can I accomplish this with xslt? The default sort will do that, read about xsl:sort -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] sorting a table based on , Andrew Welch | Thread | RE: [xsl] sorting a table based on , Michael Kay |
Re: [xsl] sorting a table based on , Andrew Welch | Date | RE: [xsl] sorting a table based on , Michael Kay |
Month |