gpt4 book ai didi

xslt - XSLT 1.0 中的排序问题

转载 作者:行者123 更新时间:2023-12-04 05:59:23 24 4
gpt4 key购买 nike

为了学习 XSLT,我有以下 XML 文件和 XSLT 样式表。我想生成一个得分后排名的玩家列表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>

样式表
 <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"/>
with score
<xsl:value-of select="soc:goals * 3 + 2 * soc:assists"/>
<br/>
</xsl:template>

</xsl:stylesheet>

在浏览器中(使用 Opera 和 Firefox 都尝试过)它产生
 Overall ranking

Laudrup with score 83
Pelé with score 81
Gullit with score 81
Hagi with score 67
Beckenbauer with score 57
Spiderman with score 157

蜘蛛侠应该出现在列表的顶部。有人可以指出我的错误吗?

我用过 version="2.0"在样式表中使用 version="1.0"给我 Error loading stylesheet: Parsing an XSLT stylesheet failed.

最佳答案

看起来它在进行字母数字排序,所以 1 < 5 等

尝试将排序行更改为:

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

关于xslt - XSLT 1.0 中的排序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9112007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com