替换XSLT1.0中的字符



我的输入xml文件中有一个编号,如下所示119778.40,但我想通过xslt在输出xml文件中更改为19778,40(逗号而非点)。

我如何格式化这个号码?我不想使用任何模板。

您可以使用translate()函数。举例来说,这个XSLT1.0样式表。。。

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:variable name="the-number" select="*/text()" />  
The input number with European formatting is <xsl:value-of select="translate($the-number,'.',',')" />
</xsl:template>
</xsl:stylesheet>

将转换此输入。。。

<t>19778.40</t>

进入这个。。。

The input number with European formatting is 19778,40

像这样使用format-number()函数…

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:decimal-format name="euro" decimal-separator="," grouping-separator="." />
<xsl:template match="/">
<xsl:variable name="the-number" select="*/text()" />  
The input number with European formatting is <xsl:value-of select="format-number($the-number,'#,00','euro')" />
</xsl:template>
</xsl:stylesheet>

相关内容

  • 没有找到相关文章