我輸入XML:XSLT遞增變量for-each循環不工作
<Citizens>
<Category type="Plumbers">
<Citizen>John</Citizen>
</Category>
<Category type="Doctors">
<Citizen>Ram</Citizen>
<Citizen>Kumar</Citizen>
</Category>
<Category type="Farmers">
<Citizen>Ganesh</Citizen>
<Citizen>Suresh</Citizen>
</Category>
</Citizens>
我曾嘗試以下XSLT來算Citizen
無關的Category
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">
<xsl:variable name="citizenTotal" select="0" />
<xsl:for-each select="Citizens/Category">
<xsl:variable name="currentCount" select="count(Citizen)" />
<xsl:variable name="citizenTotal" select="$citizenTotal+$currentCount" />
</xsl:for-each>
Total Citizen nodes: <xsl:value-of select="$citizenTotal"></xsl:value-of>
</xsl:template>
</xsl:stylesheet>
預期的輸出爲5,但它給出0是for-each
之外的初始值。我錯過了/與其範圍<xsl:variable/>
搞亂。我只是嘗試了我通常對JSLT所做的默認範圍爲page
的操作。類似XSLT中提到XSLT中變量範圍的內容?
我認爲這個問題通過所有類別統計的公民 - 這可能是'的 '可能夠了。 –
你是對的@JirkaŠ。 – rags
Saxon!= XSLT 2.0。 XSLT 2.0是一種標準,在創建之後,您仍然無法修改變量。撒克遜人可能有一個允許修改變量的_extension_。 –