當我嘗試遞歸和從多個節點的屬性,它的膠樣串:(XSLT遞歸和煩惱
XML文件(第二里程節點包括第一里程節點)
<mileage value="15000">
<operation title="Replacing the engine oil" cost="500" />
<sparepart title="Oil filter" cost="250" />
<sparepart title="Motor oil" cost="1050" />
</mileage>
<mileage value="30000">
<repeating mileage="15000" />
<operation title="Replacement of spark" cost="1200" />
</mileage>
XSL模板
<xsl:template match="mileage[@value]">
<xsl:param name="sum" select="number(0)" />
<xsl:variable name="milinkage"><xsl:value-of select="number(repeating/@mileage)" /></xsl:variable>
<xsl:apply-templates select="parent::*/mileage[@value=$milinkage]"><xsl:with-param name="sum" select="number($sum)" /></xsl:apply-templates>
<xsl:value-of select="number(sum(.//@cost))"/> <!-- + number($sum) -->
</xsl:template>
膠合結果是18001200,但我想看3000(1800 + 1200) 請告訴我這裏有什麼問題嗎?
Thanx!
對不起,這是我的第一篇文章stackoverflow。 – Yuri
我編輯了我的答案。希望這能解決你的問題。 – therealmarv