【发布时间】:2010-11-19 09:46:49
【问题描述】:
你好 我是 XSL 的初学者,几乎不知道几个命令。 我正在尝试一个示例,我必须根据 XML 中的条目格式化一个数字。 我想用format-number函数来实现。
<Details>
<Order>Bulk Order</Order>
<OrderDate>1997-07-16T19:20:30+01:00</OrderDate>
<Quantity>100</Quantity>
<Price>99.45</Price>
<Format>de_DE</Format>
</Details>
<Details>
<Order>Bulk Order</Order>
<OrderDate>1997-07-16T19:20:30+01:00</OrderDate>
<Quantity>100</Quantity>
<Price>99.45</Price>
<Format>en_US</Format>
</Details>
但是,如果我使用,我可以渲染输出:
<xsl:value-of select='format-number(500100, "###,###.00")' />
但我想使用某个条件
即如果格式为 de_DE : 我想将 ###.###,00 传递给 format-number 方法(注意小数点和千位分隔符) 或者如果格式是 en_US 我想将 ###,###.00 传递给 format-number 方法
我绝望地尝试使用选择语句(但我真的不知道用法的语法)
<xslt:choose>
<xslt:when test="$format = 'de_DE'">###,###.00</xslt:when>
<xslt:when test="$format = 'en_US'">###.###,00</xslt:when>
<xslt:otherwise>###.###,00</xslt:otherwise>
</xslt:choose>
谁能帮我把它放到模板或其他东西上,这样我就可以打电话了 我根据 XML 中存在的格式获得输出
谢谢 斯里瓦萨
【问题讨论】:
-
好问题,+1。请参阅我的答案以获得最佳、真正的 XSLT 解决方案。随意接受我的回答:)
-
@@this-Me:现在是时候接受最佳答案了吗?