Grupuj / scalaj potomki tych samych węzłów w xml / xslt

Jestem nowym użytkownikiem XSLT, a jego ręczna zmiana zajmie dużo czasu.

<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>

Chcę mieć potomstwo tych wielu węzłów GroupData w tej samej grupie, tj.

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

Muszę więc scalić / połączyć / dopasować je zarówno do identyfikatora GroupData, jak i atrybutów klucza (różnią się one w obrębie pliku). Również niektóre nie mają atrybutu klucza. Jak mogę to zrobić? Przeczytałem kilka innych wątków (na przykład w języku C #, ale nie mam tego do dyspozycji) i sprawdziłem szkoły W3, ale są to bardzo podstawowe przykłady. Używam najnowszego XML Tools 2.3.2 Unicode r908 (beta4) dla Notepad ++, aby zastosować możliwe transformacje (nie wiem, czy obsługuje XSLT2.0 lub XSLT1.0).

Edytuj: Po wypróbowaniu poniższych sugestii i różnych rzeczy, które utknąłem, ponieważ ma wiele poziomów i prawdopodobnie nie ma unikalnych identyfikatorów: ...

questionAnswers(2)

yourAnswerToTheQuestion