如何在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两个变量的位置实现将字符串转换为小写形式。

posted @ 2012-04-17 01:31  Jaxu  阅读(2005)  评论(0编辑  收藏  举报