XLSTを使用することはめったになく、親ノードの子ノードをカウントしようとすると混乱する結果になります。
編集:
XMLは次のように構成されています。
<?xml version="1.0"?>
<Response>
<result>
<name>Someone</name>
**<rating>4.5</rating>**
<review>
<text>Some review.</text>
</review>
<review>
<text>Another review.</text>
</review>
</result>
<result>
<name>Another one</name>
**<rating>2</rating>**
<review>
<text>Blah, grieve, blah.</text>
</review>
<review>
<text>Blah, grrrrr, blah.</text>
</review>
<review>
<text>Blah, good grrrrr, blah.</text>
</review>
</result>
...
...
</Response>
テンプレート(簡略化)は次のとおりです。
**<body>
<xsl:apply-templates/>
</body>**
<xsl:template match="Response/result">
<div class="item">
<div class="name">
<xsl:value-of select="name"/>
</div>
<xsl:if test="rating">
<span class="review-count">
**(<xsl:value-of select="count(review)"/>)**
</span>
</xsl:if>
</div>
</xsl:template>
このアプローチでは、正しい子ノード数を取得できません。に加えて、いくつかのxPathバリエーションcount(review)
を試しました。count(descendant::review)
単純なものが欠けていることはわかっていますが、何ですか?