删除XSLT 1.0中的欧元符号和空格



我在XML中有这个:

<price>
  <now>€ 249,95</now>
</price>

逗号前的金额在下面完成,我只想去掉欧元符号。

这是我们的(XSLT 1.0):

<xsl:template name="amount">
  <xsl:param name="string"/>
  <xsl:param name="separator" select="','"/>
  <xsl:choose>
    <xsl:when test="contains($string,$separator)">
        <xsl:value-of select="substring-before($string,$separator)"/>  
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$string"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>

你为什么不干脆:

<xsl:value-of select="translate(now, ',€ ', '.')" />

这将把十进制逗号转换为一个点,并删除欧元符号和任何空格,而不需要测试它们是否存在。

如果只需要整数部分,则:

<xsl:value-of select="floor(translate(now, ',€ ', '.'))" />

将在示例中返回249

相关内容

  • 没有找到相关文章

最新更新