私の元の投稿Group/merge childs of same nodes in xml/xsltへの追加として、その構造が異なるノード (階層の上位ノード内) に対して複数回繰り返されるという問題に遭遇しました。
<Collection>
<Questionnaire Name="Preferences" VersionID="3QW">
<Subject ID="2355">
<EventData Name="First Part">
<FormData Name="Past">
<GroupData ID="xxx" Key="4" Temp="yyy">
<ItemData ID="zzz" Value="3"/>
</GroupData>
<GroupData ID="xxx" Key="4" Temp="yyy">
<ItemData ID="qqq" Value="4"/>
</GroupData>
...
</FormData>
<FormData Name="Present">
<GroupData ID="yyy" Key="9" Temp="yyy">
<ItemData ID="www" Value="32"/>
</GroupData>
...
</FormData>
</EventData>
<EventData Name="SecondPart">
...
</EventData>
</Subject>
<Subject ID="9812">
...
</Subject>
</Questionnaire>
</Collection>
私が受け取った提案のバリエーションと他のいくつかのことを試した後、私は立ち往生しています。複数のレベル(および GroupData が子になる上位/祖父母ノードに分散されている)と関係があると思いますが、一意の ID がなくなっている可能性があります。では、各 GroupData ノードの子ノードを 1 つの GroupData ノードに取得するにはどうすればよいでしょうか (後者は常に存在するとは限らないため、ID と場合によっては Key で一致します)。注: 同じ GroupData ノード (対応する属性を持つ) を、各 FormData ノードの 1 つの GroupData ノードにマージする必要があります。