如何检查值是否在值序列中?

时间:2011-01-26 22:37:18

标签: xml xslt xpath

我有以下内容:

<xsl:when test="(PropertyType[@PropertyType=1]) 
                and ($year - YearBuild  &lt; 3)"
 >New</xsl:when>

我想测试几个PropertyType属性编号,而不仅仅是1,例如,在上面的示例中,我检查元素 PropertyType 的属性 PropertyType 是等于1,我想检查它是否:等于1或2,或10或11或......(数字列表)如何?

由于

1 个答案:

答案 0 :(得分:9)

您想测试某个标量值是否属于某个序列。

在XPath 1.0中(没有序列数据类型):

PropertyType[contains(' 1 2 10 11 ',concat(' ',@PropertyType,' ')]  

在XPath 2.0(带序列数据类型)中:

PropertyType[@PropertyType = (1,2,10,11)]

注意:存在比较。