鉴于XML:
<quest>
<g_1>
<name>first</name>
<value>4,5</value>
</g_1>
<g_2>
<name>first</name>
<value>4,5</value>
</g_2>
</quest>
如何在不使用translate转换为的情况下将值作为xsl中的数字使用。 ?
<xsl:value-of select="sum(number(translate(current-group()/VALUE[.!=''],',','.')))" />
这会有效,但我不喜欢这个解决方案。 我无法想到有一个函数,例如在number()函数中添加一个参数来指定&#39; ,&#39;转换或指定字符串的输入语言环境时的十进制分隔符。
我无法使用大多数功能,因为6,5显然不是有效的数字符号。
谢谢!
答案 0 :(得分:0)
number
或xs:double
或xs:decimal
没有参数可用于解析格式不同的数字。所以你必须首先使用一些字符串函数来获得正确的格式,无论是translate
还是replace
都取决于你。