XSLT中的sum函数(对元素中的属性求和)

XSLT中的sum函数(对元素中的属性求和),xslt,Xslt,对元素中属性的值求和。如何使用函数sum() 我的xslt版本是version1.0。 例如: <catalog> <cds> <cd id='1' price='10'/> <cd id='2' price='20'/> <cd id='3' price='30'/> <cd id='3' price='-'/> </cds> </catalog>

对元素中属性的值求和。如何使用函数
sum()

我的
xslt
版本是
version1.0。

例如:

<catalog>
   <cds>
     <cd id='1' price='10'/>
     <cd id='2' price='20'/>
     <cd id='3' price='30'/>
     <cd id='3' price='-'/>
   </cds>
</catalog>


结果是10+20+30=60,但是使用
'-'

跳过属性。您可以使用谓词
求和(/catalog/cds/cd/@price[number()=number())
,因为条件
number()=number()
仅对可转换为数字的值为真:

错误结果,正确答案为60--抱歉,谢谢!我尝试过谓词sum(/catalog/cds/cd[@price!='-']/@price)。它很有效。