是否有可能在<xsl:if>
XSLT标签中的'test'属性表达式中包含多个条件
<xsl:if test="$var='ab' | $var='bc' | $var='ca' ">
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
我收到一个错误,因为"必须将表达式计算到节点集".
是否有可能在<xsl:if>
Tag中编码这样的多个条件?
任何人都可以解释我们如何实现以下标签的多重条件验证
<xsl:if>
在测试属性表达式中
<xsl:for-each>
在select属性表达式中
<xsl:template>
在match属性表达式中
?
Dim*_*hev 42
Run Code Online (Sandbox Code Playgroud)<xsl:if test="$var='ab' | $var='bc' | $var='ca' ">
这是错误的 - 您在布尔值上使用XPath 联合运算符|
.
解决方案:使用XPath or
运算符:
<xsl:if test="$var='ab' or $var='bc' or $var='ca' ">
Run Code Online (Sandbox Code Playgroud)
test
可以优化上面的XPath表达式(属性的值),这样只进行一次比较而不or
需要:
<xsl:if test="contains('|ab|bc|ca|', concat('|', $var, '|'))">
Run Code Online (Sandbox Code Playgroud)
在 XSLT 2.0 或更高版本中,您可以针对一系列字符串进行测试:
<xsl:if test="$var=('ab','bc','ca')">...</xsl:if>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
70248 次 |
最近记录: |