XSL如何避免NaN

时间:2016-04-27 19:29:19

标签: xml xslt nan

我有几个包含数字的属性。但是可能没有定义其中一个或几个(甚至每个)(即在xml文件中没有这样的attr)。我需要显示attrs的总和,所以当至少其中一个未定义时,我得到NaN。

那我怎么能避免得到NaN?我的意思是我需要将NaN值解释为0,就像NaN + 10 + 20 + NaN + 30应该给我60的结果,但不是NaN 是否有任何方法可以在没有条件的情况下避免NaN结果,就像var中的var || 0如果var未定义则会返回0?

xml元素的示例。我需要对每个attr求和(attr3未定义)

<element attr1 = "5" attr2 = "1"/>

xsl sum的示例

<xsl:value-of select="@attr1 + @attr2 + @attr3"/>

2 个答案:

答案 0 :(得分:4)

尝试:

select="sum(@attr1 | @attr2 | @attr3)"

答案 1 :(得分:3)

只需使用sum(@*)对所有属性求和。