我具有以下匹配条件,该条件用于在我发送的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中可能吗?
答案 0 :(得分:1)
将$appName
和$value
都标准化为大写或小写,然后测试标准化的$appName
是否包含标准化的$value
:
<xsl:if test="contains(
translate($appName, $uppercase, $lowercase) ,
translate($value, $uppercase, $lowercase))">