如何在XSLT中执行字符串操作?

yus*_*suf 5 string xslt xpath

我的xslt中有以下代码块;

      <xsl:when test="StatusData/Status/Temperature > 27">
        <td bgcolor="#ffaaaa">              
          <xsl:value-of select="StatusData/Status/Temperature" />              
        </td>
      </xsl:when>
Run Code Online (Sandbox Code Playgroud)

但正如您可能猜到的那样,当值为34,5而不是34.5时,它被识别为一个字符串,使得整数比较不可能.我想要替换.将是需要char替换的解决方案.我的问题是如何做到这一点,或者在XSLT中了解更多关于字符串操作的信息会很棒...

Tom*_*lak 8

translate()XPath中有一个函数:

test="translate(StatusData/Status/Temperature, ",", ".") > 27"
Run Code Online (Sandbox Code Playgroud)

另外,你应该使用数字函数,它将它的参数转换为数字(或NaN,如果失败):

test="number(translate(StatusData/Status/Temperature, ",", ".")) > 27.0"
Run Code Online (Sandbox Code Playgroud)

请参阅w3.org 的文档translate()文档number().