即使if条件为false,XSL是否有任何理由进入范围?这听起来像是一个荒谬的问题,但我无法弄清楚为什么我的后续xsl会发生这种情况 -
<xsl:if test="count(../../TaskItems_Sheet/TaskItems[TaskReference=$taskRefMain and ../../TaskItems_Sheet/TaskItems/StartDate/text() = $varTaskStartDate] )>0">
<ns0:TaskItem>
<ns0:Add>
即使没有匹配TaskReference和&amp;的任务也是如此。 StartDate,它进入范围。计数为零,并且在调试时将测试表达式计算为false。关于我能做错什么的任何想法?如果需要更多信息,请告诉我。
答案 0 :(得分:1)
虽然我无法在没有看到更完整的代码示例的情况下确认这一点,但我认为您当前表达式中的逻辑。它并不是在寻找与TaskItem
和TaskReference
匹配的单StartDate
,而是在寻找另一个TaskItem
匹配的TaskReference
({1}}可能不同的TaskItem
匹配StartDate
我认为你的表达应该简化为
<xsl:if
test="count(../../TaskItems_Sheet/TaskItems[TaskReference=$taskRefMain and StartDate/text() = $varTaskStartDate]) > 0">