更好的方法将大写转换为小写

时间:2013-09-05 09:31:20

标签: xslt xslt-1.0

我正在开发一个xsl,我在其中获取了一个id,我将其转换为小写,如下所示

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:if test="translate( ./Id ,
                         'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
                         'abcdefghijklmnopqrstuvwxyz')
              = 'good' 

请让我知道是否还有其他更好的方法来实现xslt 1.0支持的相同amy功能。

1 个答案:

答案 0 :(得分:1)

不在纯XSLT 1.0中,不,它的字符串操作设施相当有限。根据处理器的不同,您可以调用扩展函数(例如,Xalan允许您从XPath调用Java静态方法),但最好还是坚持使用本机translate方法。如果你正在做很多这些转换,你可以通过声明几个全局变量来使它更简洁

<xsl:variable name="uc" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
<xsl:variable name="lc" select="'abcdefghijklmnopqrstuvwxyz'" />

可以让你说translate(Id, $uc, $lc),而不是每次都完全拼写出字母。