使用 XSLT 格式化 XML 中的数字



我的输入 xml 文件中有一个数字,像这样 0.20,但我想通过 xslt 在我的输出 xml 文件中更改为 0,20(逗号而不是点(。 如何格式化此数字?我不想为此使用任何模板。

使用 format-number($x, '0.00', 'european')

<xsl:decimal-format name="european" decimal-separator="," grouping-separator="."/>

根据您使用的 XSLT 版本,有不同的方法。

假设您在元素中具有如下值0.20

<element>0.20</element>

XSLT 1.0 提供了一个translate()函数,该函数允许使用以下语句替换字符串中的字符。

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

XSLT 2.0 提供了一个replace()函数来执行相同的操作。但是,在使用 XSLT 2.0 时,最好转义period/dot,因为dot表示当前节点的值,并可能导致不正确的解释。

<xsl:value-of select="replace(element,'.',',')" />

你为什么不给我们一个输入的例子,比如数字在哪里以及你用于这个的模板? 显示 XML 和 XSLT 将很容易理解您的问题:

如果它带有这样的标签,您通常可以使用replace ()<tag>0.20</tag>

<xsl:value-of select="replace(tag,'.',','"/>

相关内容

  • 没有找到相关文章

最新更新