我正在开发一个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功能。
答案 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)
,而不是每次都完全拼写出字母。