.NET の XSLT で Muenchian グループ化を使用して、インジケーター要素を日付別にグループ化しています。
XML と XSLT のスニペット:
<financials>
<indicator>
<date>2010</date>
<labeltype>2</labeltype>
</indicator>
<indicator>
<date>2009</date>
<labeltype>2</labeltype>
</indicator>
<indicator>
<date>2008</date>
<labeltype>2</labeltype>
</indicator>
...
</financials>
<xsl:key name="financialsByDate" match="indicator" use="date" />
<xsl:template match="financials">
<xsl:for-each select="indicator[generate-id(.) = generate-id(key('financialsByDate', date)[1])]">
<financial>
...
</financial>
</xsl:for-each>
</xsl:template>
このコードは、テスト用に抽出した小さな XML ドキュメントでは問題なく動作しますが、より多くの要素を含む元の XML/XSLT ではまったく動作しません。
テキスト「date」を「foobar」に変更すると、それが機能するのは奇妙なことです。
ドキュメント内の別の場所にある他の「日付」要素が私のコードに影響を与えている可能性はありますか?