可能重复:
XSLT expression to check if variable belongs to set of elements
给定一个参数$name
,检查其值是否等于有限数值之一的简洁方法是什么?
例如,假设我想合并这些when
测试的前3个,因为它们的内容完全相同。
<choose>
<when test="$name='Alice'">
<when test="$name='Bob'">
<when test="$name='Cindy'">
<when test="$name='Dave'">
<otherwise>
像test="$name in ['Alice','Bob','Cindy']"
这样的东西,除了实际有效:P
答案 0 :(得分:7)
使用XSLT 2.0,只需使用$name = ('Alice', 'Bob', 'Cindy')
。
答案 1 :(得分:1)
使用(在XSLT 1.0和XSLT 2.0中):
contains('|Alice|Bob|Cindy|', concat('|', $name, '|'))
并且,正如Martin Honnen已经提到的那样,仅在XPath 2.0(XSLT 2.0)中,可以简单地编写:
$name = ($seqOfNames)