Группировать / объединять дочерние элементы тех же узлов в xml / xslt

Я новичок в XSLT и изменение его вручную займет много времени.

<GroupData ID="xxx" Key="4" Temp="yyy">
 <ItemData ID="zzz" Value="3"/>
</GroupData>

<GroupData ID="xxx" Key="4" Temp="yyy">
 <ItemData ID="www" Value="1982"/>
</GroupData>

Я хочу, чтобы дочерние элементы этих нескольких узлов GroupData находились в одной и той же группе, т.е.

<GroupData ID="xxx" Key="4" Temp="yyy">
 <ItemData ID="zzz" Value="3"/>
 <ItemData ID="www" Value="1982"/>
</GroupData>

Поэтому мне нужно объединить / объединить / сопоставить их как с атрибутами GroupData ID, так и с ключами (они различаются в пределах одного файла). Также у некоторых нет атрибута Key. Как я могу это сделать? Я прочитал некоторые другие темы (например, в C #, но у меня нет этого в моем распоряжении), и я проверил школы W3, но это очень простые примеры. Я использую последнюю версию XML Tools 2.3.2 r908 unicode (beta4) для Notepad ++ для применения возможных преобразований (не знаю, поддерживает ли он XSLT2.0 или XSLT1.0).

Edit: After trying the suggestions below and various things I am stuck since it has multiple levels and possiblly does not have unique IDs: ...

Ответы на вопрос(2)

Ваш ответ на вопрос