我需要根据变量限制每个选择。以下变量保留失败次数(如果有)或成功(如果有)。
xsl:choose><xsl:when test="$allFailureCount = 0">Success</xsl:when><xsl:when test="$allFailureCount > 0">Failure</xsl:when></xsl:choose>
在这一行之后,我为每个语句提供了XSL,如下所示,它循环遍历由失败和成功组成的所有节点。需要循环选择失败 发生故障时的节点和成功时的所有节点。检测失败和成功的节点的表达式如下:
/testResults/*[attribute::s='false'] -Failure
/testResults/*[attribute::s='true'] -Success
然后我需要限制以下循环
<xsl:for-each select="/testResults/*">
答案 0 :(得分:2)
以下是如何执行此操作的方法:
<xsl:for-each select="/testResults/*[($allFailureCount = 0) or @s='false']">
...
</xsl:for-each>
for-each循环中的XPath表达式将在出现故障时选择所有节点,并在出现故障时仅选择属性为@s='false'
的节点。
您可以使用简短且更易读的引用属性形式。例如,@s
与attribute::s
相同。