0
我有一個xml看起來像這樣如何重新分配變量的for循環中,並在XSLT使用它以外的for循環1.0
<component name="main">
<component name="sub">
<component name="a">
<issues>
<warning> </warning>
</issues>
</component>
<component name="b">
<issues>
<warning> </warning>
</issues>
</component>
<component name="c">
<issues>
<error> </error>
</issues>
</component>
</component>
</component>
我想輸出看起來像下面
"main": [
{
composite:"sub"
result: "failure"
}
]
結果可以有3個值。其中列舉如下 成功:沒有錯誤沒有警告 失敗:超過零次失誤 不穩定:零個誤差大於零級的警告
結果應該是基於子組件result.The在上面的例子中「子」有結果失敗,因爲它的一個子組件c有錯誤標記。
我的代碼如下所示。它沒有給我想要的結果。請幫我出
<xsl:param name="error">0</xsl:param>
<xsl:param name="warning">0</xsl:param>
<xsl:param name="Success">0</xsl:param>
<xsl:for-each select="./components/components">
<xsl:if test="./issues/error">
<xsl:param name="error" select="'1'" />
</xsl:if>
<xsl:if test= "./issues/warning">
<xsl:param name="warning" select="'1'" />
</xsl:if>
<xsl:if test= "not(./issues/warning) and not(./issues/error)">
<xsl:param name="Success" select="'1'" />
</xsl:if>
</xsl:for-each>
<xsl:if test= "$error = '1'">
"result":"Failure"
</xsl:if>
<xsl:if test="$error !='1' and $warning = '1'">
"result":"Unstable"
</xsl:if>
<xsl:if test="$error !='1' and $warning != '1' and $warning = '1'">
"result":"Success"
</xsl:if>
完蛋了! :) 謝謝 :) – user2179627