我有以下条件来检查我必须检查两个条件
1)ABSClassificationScheme =清算状态
2)并且如果第一个条件匹配则只检查cfStateId的第二个条件是accpt_novated_sw,清除完全和手动注册的cfStateId应该具有这三个值中的一个,那么在这种情况下它应该打印为真
所以我想出了以下这个条件请告知是否正确
<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>
但是现在它不适用于Clearing Complete和manual_novated你可以告诉我上面的实现是否正确
答案 0 :(得分:1)
我可以在xpath中看到父轴:
../cfStateId = 'accpt_novated_sw'
将其更改为
./cfStateId = 'accpt_novated_sw'
或者您可以使用(不./
,因为它是相同的):
cfStateId = 'accpt_novated_sw'
答案 1 :(得分:1)
我只是猜测这一点,但是如果你有几个累积(AND)条件,并且这些条件中的一个或多个由几个替代组成( OR)子条件,您必须将该条件放在括号中 - 因为在OR之前评估AND。