Agrupar / mesclar filhos dos mesmos nós em xml / xslt

Eu sou novo no XSLT e alterá-lo manualmente levará muito tempo.

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

Eu quero ter os filhos desses vários nós GroupData dentro do mesmo grupo, ou seja,

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

Portanto, preciso mesclar / combinar / combinar os atributos ID e Key do GroupData (eles variam dentro do arquivo). Além disso, alguns não possuem um atributo Key. Como eu posso fazer isso? Eu li alguns outros tópicos (por exemplo, em C #, mas eu não tenho isso à minha disposição) e verifiquei as escolas W3, mas estes são exemplos muito básicos. Eu estou usando o mais recente XML Tools 2.3.2 r908 unicode (beta4) para o Notepad ++ para aplicar possíveis transformações (não sei se ele suporta XSLT2.0 ou XSLT1.0).

Editar: Depois de tentar as sugestões abaixo e várias coisas eu estou preso, pois tem vários níveis e possiblly não tem IDs únicos: ...

questionAnswers(2)

yourAnswerToTheQuestion