1

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

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

1 回答 1

2

您可以这样做:

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

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

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

于 2013-11-07T06:47:53.010 回答