xsl translate或小写显示js错误,如何在XSL中没有casesensitivity进行比较

时间:2014-10-27 08:25:17

标签: xml xslt xslt-1.0 xslt-2.0

我收到此错误

Unknown method.-->translate(STATUS<--,'abcdefghijlkmnopqrstuvwxyz','ABCDEFGHIJLKMNOPQRSTUVWXYZ')='ERROR']

当我使用以下行

<td width="7"  height="17"><xsl:if test="translate(STATUS,'abcdefghijlkmnopqrstuvwxyz','ABCDEFGHIJLKMNOPQRSTUVWXYZ')='ERROR'"><img src="../../../Images/Error.png" alt="" /></xsl:if></td>

在下面的栏目中

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template>
      <table id='tblEntries' index='0' class="GridText" style="table-layout:fixed;width=100%">
        <xsl:for-each select="SERVICES-OBJECT/ITEM" >
          <tr id='trEntries' onmouseover="this.style.cursor='default'">

          <td width="7"  height="17"><xsl:if test="translate(STATUS,'abcdefghijlkmnopqrstuvwxyz','ABCDEFGHIJLKMNOPQRSTUVWXYZ')='ERROR'"><img src="../../../Images/Error.png" alt="" /></xsl:if></td>

          </tr>
        </xsl:for-each>
      </table>
  </xsl:template> 

我尝试使用类似示例的XSLT尝试编辑器,它在同一浏览器上无误地运行。是否应该为第一个命名空间包含一些XSL命名空间才能使其正常工作?

但这条线很好用

 <td width="7"  height="17"><xsl:if test="ACTIONSTATUS[.='ERROR']">
  <img src="../../../Common/Graphics/ar_urgent.png" alt="" /></xsl:if>
 </td>

但我想比较忽略案例的敏感性

1 个答案:

答案 0 :(得分:3)

更改

<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

因为这是W3C XSLT标准的正确命名空间,而您使用的那个与非常古老的(1999年之前)工作草案相关,只有非常旧版本的MSXML支持。