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

时间:2016-09-03 17:29:04

标签: xml xslt 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>

1 个答案:

答案 0 :(得分:1)

你为什么不这样做:

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

这会将小数点逗号转换为点并删除欧元符号以及任何空格 - 无需测试是否存在任何空格。

如果只想要整数部分,那么:

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

将在您的示例中返回249