如何在XSLT中将字符串转换为大写或小写形式
查阅w3school的文档,你会看到XSLT提供了两个系统函数用于转换字符串的大小写形式:upper-case()和lower-case()。但是这两个函数是针对于XSLT2.0以上版本的,Microsoft所使用的XSLT都是1.0版本的,所以当你在代码中使用这两个函数时会提示无效。这里有一个替代的解决方案,使用translate()函数可以解决这个问题。
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" /> <xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> <xsl:template match="/"> <xsl:value-of select="translate(doc, $smallcase, $uppercase)" /> </xsl:template>
事先定义好两个变量,用于存储英文中26个字母的大小写形式,然后在translate()函数中对要进行的字符串进行转换。上例中是将字符串转换为大写形式,颠倒$smallcase和$uppercase两个变量的位置实现将字符串转换为小写形式。