Subject: RE: [xsl] Adjusting sorted list From: TSchutzerWeissmann@xxxxxxxxxxxxxxxx Date: Thu, 16 May 2002 16:07:06 +0100 |
Hello Andrew, How about this: <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:key name='bs' match ='b' use='.'/> <xsl:template match='/'> <xsl:apply-templates select='*'/> </xsl:template> <xsl:template match ="a"> <xsl:variable name='uniques' select='b[count(. | key("bs", .)[1]) = 1]'/>> <xsl:for-each select='b'> <xsl:sort select='.'/> <xsl:copy> <xsl:attribute name='rank'> <xsl:value-of select='count($uniques[. < current()]) + 1'/> </xsl:attribute> </xsl:copy> </xsl:for-each> </xsl:template> </xsl:stylesheet> It's the only way I can think of doing it. Tom Weissmann -----Original Message----- From: Andrew Timberlake [mailto:andrew.lists@xxxxxxxxx] Sent: 16 May 2002 15:05 To: XSL-List@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] Adjusting sorted list I have the following XML: <a> <b>4</b> <b>9</b> <b>6</b> <b>1</b> <b>8</b> <b>6</b> <b>4</b> <b>7</b> </a> I am trying to generate the following ouput: <a> <b rank="1">1</b> <b rank="2">4</b> <b rank="2">4</b> <b rank="3">6</b> <b rank="3">6</b> <b rank="4">7</b> <b rank="5">8</b> <b rank="6">9</b> </a> Using xsl:for-each with a sort on b and then using position() I can get a ranking from 1 to 8 but I have no idea how to achieve the above. I have dug around in the archives for some ideas but to no avail. I see that I can't use a variable and adjust it's value with each iteration (as it's not actually iterating). I have also looked into using a recursive named template but am not sure how to achieve the above and sort the output??? Thanks in advance for any help. Andrew XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Adjusting sorted list, Jeni Tennison | Thread | [xsl] Variable confusion, Tompkins Tim |
[xsl] Re: Adjusting sorted list, Dimitre Novatchev | Date | [xsl] Trouble With Multiple File Ou, PHP User |
Month |