测试包含在XSLT 1.0中使用不区分大小写的匹配

时间:2018-09-13 00:32:40

标签: xslt xpath xslt-1.0

我具有以下匹配条件,该条件用于在我发送的appName中存在该值的情况下获取结果:

  <xsl:if test="contains($appName , $value)">
                        <xsl:call-template name="formResponseBody">
                        </xsl:call-template>
  </xsl:if>

但是,现在,我必须进行完全相同的测试,但忽略“ $ value”中数据的大小写。

我尝试使用转换函数,但是它们要么转换为上转换,要么转换为下转换,但是我的测试用例是数据是可以是“ TEST”,“ test”,“ TesT”的值。

<xsl:variable name="lowercase">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable name="uppercase">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<xsl:variable name="value1" select="translate($value, $uppercase, $lowercase)"> 

在XSLT 1.0中可能吗?

1 个答案:

答案 0 :(得分:1)

$appName$value都标准化为大写或小写,然后测试标准化的$appName是否包含标准化的$value

<xsl:if test="contains(
                translate($appName, $uppercase, $lowercase) , 
                translate($value, $uppercase, $lowercase))">