Muenchian Grouping を見ています。私のxmlに似た例を見つけようとしましたが、見つかりませんでした。ほとんどの例は適切に構造化されていますが、私のものは混乱しています。
これは私の XML の短縮バージョンです (XML 構造は標準的なものであり、私の手に負えないため、変更できないことに注意してください)。システムは現在そのバージョンのみをサポートしているため、XSLT 1 を使用しています。
<object>
<creator id="123">
<name>ABC</name>
<city>Hamilton</city>
</creator>
<creator><references>456</references></creator>
<contact><references>123</references></contact>
<creator id="456">
<name>XYZ</name>
<city>New York</city>
</creator>
<associatedParty><references>123</references>
<role>Sponsor</role>
</associatedParty>
</object>
私が望む出力は次のとおりです。
<party id="123">
<name>ABC</name>
<city>Hamilton</city>
<role>Creator</role>
<role>Contact</role>
<role>Sponsor</role>
</party>
<party id="456">
<name>XYZ</name>
<city>New York</city>
<role>Creator</role>
<role>Contact</role>
</party>
現在、id 属性は、参照要素の値として使用されています。また、出力のタグは、作成者、連絡先、または関連するパーティ要素の下にある場合、要素内にあるものであれば何でもかまいません。
id/references 属性からそれらをグループ化するためのキーの作成に行き詰まっています。私が見る限り、 xsl:key を使用した例は同じ名前のノードのみを対象としており、投稿した例ではノード名が異なります。どんな助けでも大歓迎です!!!!