Problems with sorting in XSLT 1.0 -



Problems with sorting in XSLT 1.0 -

playing around in order larn xslt, have next xml file , xslt stylesheet. want produce list of players ranked after score 3*goals + 2*assists.

<?xml-stylesheet type="text/xsl" href="player_ranking.xsl"?> <soccer xmlns="http://mysoccer.it"> <players> <player> <name>pelé</name> <goals>21</goals> <assists>9</assists> </player> <player> <name>beckenbauer</name> <goals>7</goals> <assists>18</assists> </player> <player> <name>spiderman</name> <goals>27</goals> <assists>38</assists> </player> <player> <name>hagi</name> <goals>13</goals> <assists>14</assists> </player> <player> <name>laudrup</name> <goals>11</goals> <assists>25</assists> </player> <player> <name>gullit</name> <goals>17</goals> <assists>15</assists> </player> </players> </soccer>

style sheet

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:soc="http://mysoccer.it" xmlns="http://www.w3.org/1999/xhtml"> <xsl:template match="soc:soccer"> <html> <head> <title>famous players ranked</title> </head> <body> <h1>overall ranking</h1> <xsl:apply-templates match="soc:players"/> </body> </html> </xsl:template> <xsl:template match="soc:players"> <xsl:apply-templates select="soc:player"> <xsl:sort select="soc:goals * 3 + 2 * soc:assists" order="descending"/> </xsl:apply-templates> </xsl:template> <xsl:template match="soc:player"> <xsl:value-of select="soc:name"/> score <xsl:value-of select="soc:goals * 3 + 2 * soc:assists"/> <br/> </xsl:template> </xsl:stylesheet>

in browser (tried both opera , firefox) produces

overall ranking laudrup score 83 pelé score 81 gullit score 81 hagi score 67 beckenbauer score 57 spiderman score 157

spiderman should appear on top of list. can point out error ?

i have used version="2.0" in style sheet using version="1.0" gives me error loading stylesheet: parsing xslt stylesheet failed.

looks doing alphanumeric sort, 1 < 5 etc

try changing sort line to:

<xsl:sort select="soc:goals * 3 + 2 * soc:assists" data-type="number" order="descending"/>

xslt

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -