Agrupar / fusionar hijos de los mismos nodos en xml / xslt

Soy nuevo en XSLT y cambiarlo manualmente llevará mucho tiempo.

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

Quiero tener los hijos de estos múltiples nodos GroupData dentro del mismo grupo, es decir,

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

Por lo tanto, debo combinarlos / combinarlos en los atributos de ID y clave de GroupData (estos varían dentro del archivo). Además, algunos no tienen un atributo clave. ¿Cómo puedo hacer eso? Leí algunos otros hilos (por ejemplo, en C # pero no tengo eso a mi disposición) y revisé las escuelas W3, pero estos son ejemplos muy básicos. Estoy utilizando el último código Unicode (beta4) XML Tools 2.3.2 r908 para Notepad ++ para aplicar posibles transformaciones (no sé si es compatible con XSLT2.0 o XSLT1.0).

Edición: Después de probar las sugerencias a continuación y varias cosas, me quedo atascado ya que tiene múltiples niveles y posiblemente no tiene ID únicas: ...

Respuestas a la pregunta(2)

Su respuesta a la pregunta