每个条件的XSL

时间:2013-11-07 06:28:16

标签: xslt

我需要根据变量限制每个选择。以下变量保留失败次数(如果有)或成功(如果有)。

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/*">

1 个答案:

答案 0 :(得分:2)

以下是如何执行此操作的方法:

<xsl:for-each select="/testResults/*[($allFailureCount = 0) or @s='false']">
...
</xsl:for-each>

for-each循环中的XPath表达式将在出现故障时选择所有节点,并在出现故障时仅选择属性为@s='false'的节点。

您可以使用简短且更易读的引用属性形式。例如,@sattribute::s相同。