利用translate
Case insensitive string compareDavid CarlisleHow do I express the following expression in xslt: if the case-insensitive value of $name == the case-insensitive value of "Joe" test="translate($name,'JOE','joe')='joe'"Or more generally, if you are speaking English, you can use <xsl:variable name="up" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
<xsl:variable name="lo" select="'abcdefghijklmnopqrstuvwxyz'"/>
test="translate($name,$up,$lo)='joe'"
For other languages you might have to decide what case-insensitive means, which isn't always easy:-) Mike Kay adds <xsl:variable name="uc">ABCDEFG.....</xsl:variable>
<xsl:variable name="lc">abcdefg.....</xsl:variable><xsl:if test="translate($name, $lc, $uc) = translate('Joe', $lc, $uc)">