总和值组XSLT 2.0

时间:2016-03-11 09:59:14

标签: xml xslt xslt-2.0

我使用for-each-group功能创建了一组值,但是我现在留下了一组被视为字符串的值:

22.22, 20.00, 31.00, 12.58

我现在尝试使用以下语句对这组值进行求和:

format-number(sum(current-group()/total),'0.00')

但是我收到以下错误:

Description: Cannot convert string to double: ""

有人可以指出我正确的方向!

1 个答案:

答案 0 :(得分:0)

如果您有XPath 3.1,则可以使用:

sum(for-each(tokenize(current-group(), ", "),xs:double#1))

计算85.8的总和。

如果你有像

这样的话,你的生活会更容易
<number>22.22</number>
<number>20.00</number>
<number>31.00</number>
<number>12.58</number>

然后你可以通过简单地调用

来总结数字
sum(//number)

即使在XPath 1.0中也可用。