微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xml – 在xslt中添加两个值,有时可以为null

我想使用xslt添加从xml到另一个的值.我使用的是xml版本1.

<xsl:value-of select="number(/fields/field[@name='value1'])+number(/fields/field[@name='value2'])"/>

如果value1或value2有时会为空并产生NaN,我怎么能这样做呢?

我知道我可以使用if和when来查看value1或value2是否为空,但是让我说我​​无法检查.我该怎么解决这个问题?

我想要做的是,如果“number(/ fields / field [@ name =’value2′])”产生一个NaN,它应该是数字0然后它会起作用.

最好的祝福

解决方法

if “number(/fields/field[@name=’value2′])” would produce a NaN it
should be the number 0

你可以尝试这样的事情:

<xsl:decimal-format name="coerce" NaN="0" />
...
<xsl:variable name="a" select="format-number(/fields/field[@name='value1'],'#','coerce')"/>
<xsl:variable name="b" select="format-number(/fields/field[@name='value2'],'coerce')"/>
...
<xsl:value-of select="$a + $b"/>

注意:示例中使用的格式假定为整数输入.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。