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"/>

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

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念