xsl

2012-01-20 22 views
10

'da dize eşitlik durumu duyarsızlığı nasıl denetlenir DB/@dbtype == 'oracle' (büyük/küçük harf duyarsız) seçeneğini işaretlemem gereken bir gereksinimim var. Bunu nasıl yapabilirim? duyarsız vaka ( Burada buna göre kontrol sonra tümü küçük/büyük harf haline dönüştürerek ve düşünce benim kodxsl

<xsl:choose> 
     <xsl:when test="DB/@dbtype"> 
     <p> 
      <dd> 
      <table border="1"> 
       <tbody> 
       <tr> 
        <th>Name</th> 
        <th>Value</th> 
       </tr> 

       <xsl:if test="DB/@dbtype='ORACLE'"> 
        <xsl:for-each select="DB/oracle_props"> 
        <tr> 
         <td valign="top" ><xsl:value-of select="@name"/></td> 
         <td valign="top" ><xsl:value-of select="@value"/></td> 
        </tr> 
        </xsl:for-each> 
       </xsl:if> 

       </tbody> 
      </table> 
      </dd> 
     </p> 
     </xsl:when> 
     <xsl:otherwise> 
      <xsl:value-of select="DB"/>       
     </xsl:otherwise> 
</xsl:choose> 

, yani Dize karşılaştırmak nasıl bana yardım edin

<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" /> 
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" /> 

<xsl:value-of select="translate(product/@name, $smallcase, $uppercase)"/> 
<!--It display in lower case, but how to use this in checking for equality?--> 

altında kullanılan şekilde) aynı şekilde

cevap

14

:

XSLT 2.0+ kullanıyorsanız Eh eğer
1
<xsl:if test="translate(product/@name, $smallcase, $uppercase) = translate('Oracle', $smallcase, $uppercase)"> 
stuff 
</xsl:if>