レコードを含むXMLがあり、一部のレコードは相互に関連付けられているため、出力でそれらをグループ化する必要があります。
XML:
<Records>
<Record id="1" group="10" />
<Record id="2" group="20" />
<Record id="3" group="20" />
<Record id="4" group="20" />
</Records>
現在、表示しています
<span>1</span><span>2</span><span>3</span><span>4</span>
表示したいのは(同じグループのレコードに基づく)
<span>1</span><span>2-4</span>
preceding-sibling::Record/@group
sの反復間でグループ化が変更されたかどうかを確認するためにを使用して調べましたが、必要なグループ化をRecord
実現する方法を見つけるのに苦労してい2-4
ます。
これが私がこれまでに行ったことであり、私がやろうとしていることを説明するためにいくつかのコメントが点在しています。
<xsl:for-each select="Records/Record">
<xsl:if test="@group != preceding-sibling::Record/@group">
<!-- obviously here we need 2-4...somehow? -->
<span><xsl:value-of="@id" /></span>
</xsl:if>
</xsl:for-each>