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 功能。

4

1 回答 1

1

不是在纯 XSLT 1.0 中,不,它的字符串操作工具相当有限。根据处理器的不同,您可能能够调用扩展函数(例如,Xalan 允许您从 XPath 调用 Java 静态方法),但您最好还是坚持使用本机translate方法。如果您要进行大量此类转换,则可以通过声明几个全局变量来使其更简洁

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

这会让你说translate(Id, $uc, $lc)而不是每次都完整地拼出字母表。

于 2013-09-05T10:09:07.027 回答