Интересная задача на xslt - требуется объеденить несколько узлов, содержащих shop_item с @id и избавиться от дубликатов узлов по совпадению @id

#
Интересная задача на xslt - требуется объеденить несколько узлов, содержащих shop_item с @id и избавиться от дубликатов узлов по совпадению @id
Есть три узла от текущего узла:
<comp_items>
   <shop_item id="19368">
   ...
   </shop_item>
   
   <shop_item id="19370">
   ...
   </shop_item>
   
   <shop_item id="19372">
   ...
   </shop_item>
</comp_items>

<modifications>
   <shop_item id="19374">
      <comp_items>
         <shop_item id="19368">
         ...
         </shop_item>
         
         <shop_item id="19370">
         ...
         </shop_item>
         
         <shop_item id="19372">
         ...
         </shop_item>
      </comp_items>
   </shop_item>
   
   <shop_item id="19375">
      <comp_items>
         <shop_item id="19368">
         ...
         </shop_item>
         
         <shop_item id="19370">
         ...
         </shop_item>
         
         <shop_item id="19404">
         ...
         </shop_item>
      </comp_items>
   </shop_item>
   
   <shop_item id="19375">
      <comp_items>
         <shop_item id="19368">
         ...
         </shop_item>
         
         <shop_item id="19370">
         ...
         </shop_item>
         
         <shop_item id="19372">
         ...
         </shop_item>
         
         <shop_item id="19376">
         ...
         </shop_item>
         
         <shop_item id="19404">
         ...
         </shop_item>
      </comp_items>
   </shop_item>
</modifications>

<moduls_in_group>
   <shop_item id="19376">
   ...
   </shop_item>
   
   <shop_item id="19404">
   ...
   </shop_item>
</moduls_in_group>


Требуется объединить все товары, т.е.:

   <shop_item id="19368">
   ...
   </shop_item>
   
   <shop_item id="19370">
   ...
   </shop_item>
   
   <shop_item id="19372">
   ...
   </shop_item>

         <shop_item id="19368">
         ...
         </shop_item>
         
         <shop_item id="19370">
         ...
         </shop_item>
         
         <shop_item id="19372">
         ...
         </shop_item>

         <shop_item id="19368">
         ...
         </shop_item>
         
         <shop_item id="19370">
         ...
         </shop_item>
         
         <shop_item id="19404">
         ...
         </shop_item>

         <shop_item id="19368">
         ...
         </shop_item>
         
         <shop_item id="19370">
         ...
         </shop_item>
         
         <shop_item id="19372">
         ...
         </shop_item>
         
         <shop_item id="19376">
         ...
         </shop_item>
         
         <shop_item id="19404">
         ...
         </shop_item>

   <shop_item id="19376">
   ...
   </shop_item>
  
   <shop_item id="19404">
   ...
   </shop_item>


И убрать все дубли, чтобы получился результат:

         <shop_item id="19368">
         ...
         </shop_item>
         
         <shop_item id="19370">
         ...
         </shop_item>
         
         <shop_item id="19372">
         ...
         </shop_item>
         
         <shop_item id="19376">
         ...
         </shop_item>
         
         <shop_item id="19404">
         ...
         </shop_item>
Авторизация