私の入力XML:
<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>
Citizen
私は次のXSLTを試してみました。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/>
その範囲が欠けている/いじっています。page
スコープがデフォルトであるJSLTで通常行うことを試しました。XSLT で変数のスコープについて言及するために、XSLT でそのようなものはありますか?