次のような XML 形式があります。
<Items>
<Item id="1">
</Item>
<Item id="2">
</Item>
<Item id="1">
</Item>
<Item id="3">
</Item>
</Items>
「id」が一意であるすべての要素を含む XSLT 2.0 変数を宣言しようとしています。「id」が一意でない場合、変数が格納されるように、最初のインスタンスのみを出力する必要があります。
<Item id="1">
</Item>
<Item id="2">
</Item>
<Item id="3">
</Item>
次のコードは、すべての一意の @id 属性を提供しますが、その親 (アイテム) は提供しません。
<xsl:variable name="uniqueItems" select="distinct-values(/Items/Item/@id)"/>
私はこのようなことをしたい:
<xsl:variable name="uniqueItems" select="distinct-values(/Items/Item/@id)/parent::node()"/>
しかし、これは明らかに正しくありません。