我想使用xslt添加从xml到另一个的值.我使用的是xml版本1. xsl:value-of select="number(/fields/field[@name='value1'])+number(/fields/field[@name='value2'])"/ 如果value1或value2有时会为空并产生NaN,我怎么能这样做
<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"/>
注意:示例中使用的格式假定为整数输入.