我有下面的条件要检查,我必须检查两个条件
1) ABSClassificationScheme =清除状态
2)如果第一个条件匹配那么只检查第二个条件cfStateId是accpt_novated_sw, Clearing Complete和manual_novated cfStateId应该有这三个值中的一个那么在这种情况下它应该打印为true
所以我提出了以下条件,请告知这是正确的
<xsl:template match="ABSClassificationScheme[
. = 'Clearing State' and
../cfStateId = 'accpt_novated_sw' or ./cfStateId='Clearing Complete' or ./cfStateId='manual_novated' ]">
<xsl:value-of select="'true'"/>
</xsl:template>
但是现在它不能用于清除完成和manual_novated,你能告诉我上面的实现是否正确吗
我可以在xpath中看到父轴:
../cfStateId = 'accpt_novated_sw'
改为
./cfStateId = 'accpt_novated_sw'
或者你可以直接使用(没有./
,因为它是一样的):
cfStateId = 'accpt_novated_sw'
在这一点上我只是猜测,但是如果您有几个累积 (AND)条件,并且这些条件中的一个或多个由几个可选 (or)子条件组成,则必须将该条件放在括号中-因为在or之前求值