在XSLT中连接两个变量(非数字和/或数字)

6

我在xslt中有两个变量,但是我无法将它们相加并赋值给另一个变量,需要帮助。

<xsl:variable name="Book" select="hummpty" />
<xsl:variable name="Book1" select="andro" />
<xsl:variable name="Total">
<xsl:value-of select="$Book + $Book1/>
</xsl:variable>

当我尝试输出“总计”时,得到的值是NaN。我该如何解决?在实现这个目标后,我想将其作为属性值分配给另一个元素。例如:
<Book totakBook="$Total" />

类似上面的东西。感谢任何帮助。


1
这两个变量是否具有有意义的整数值? - Simeon Visser
你的示例程序的期望输出是什么?如果你想要对数值进行求和,为什么示例中包含NaN值? - Filburt
变量可能包含整数,也可能不包含。 - Parameswar
2个回答

25

如果您真的想要连接字符串值,请尝试这样做:

<xsl:value-of select="concat($Book, $Book1)" />

1
哇,StackExchange 让我惊叹不已。有些人意识到当有人说他想要添加两个值时,实际上他想要将它们连接起来。这就是纯粹的心灵感应 - 太棒了。 - Michael Kay
2
@MichaelKay 我更喜欢称之为“有根据的猜测”;-) - Filburt

0

试试这个

  <xsl:value-of select="sum($Book + $Book1)"/>

前提是这两个变量都包含有效的数字值。


变量可能包含整数值,也可能不包含,它是动态的。 - Parameswar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接