Agrupamento Muenchiano Padrão - XSLT

Eu estava desenvolvendo um xsl que converte o xml de entrada para outro xml usando XSLT como mencionado abaixo.

Lógica: Na entrada xml, menciono quatro subelementos "vehicle_No, vehicle_Model, Description, color" em "Vehicle". Eu quero obter um resultado "se" vehicle_No, vehicle_Model "corresponde ao próximo" veículo ", em seguida, o valor na" descrição "deve se tornar elementos e, em seguida, a saída deve ser semelhante ..., também agrupamento de Muenchian para" Descrição "quando correspondências "vehicle_No, vehicle_Model",

Sample O / P: If Matched

<vehicle>
     <car>
          <color>BLACK</color>
          <hood>RED</hood>
     </car>
</vehicle>

Se não for correspondido

<vehicle>
     <car>
          <color>BLACK</color>
          <hood>RED</hood>
     </car>
     <cycle>
          <color>violet</color>
     </cycle>
</vehicle>

Se no caso eu recebo um mesmo valor para "descrição" mencionado na entrada xml e "vehicle_No, vehicle_Model" não são correspondentes. Então oo / p deve parecer

<vehicle>
     <car>
          <color>BLACK</color>
          <hood>RED</hood>
     </car>
     <cycle>
          <color>violet</color>
     </cycle>
</vehicle>
<vehicle>
     <car>
          <color>RED</color>
     </car>
</vehicle>

Meu arquivo XML de entrada:

<t>
<Vehicle>
    <vehicle_No>123</vehicle_No>
    <vehicle_Model>Audi</vehicle_Model>
    <Description>car.color</Description>
    <colour>BLACK</colour>
</Vehicle>
<Vehicle>
    <vehicle_No>123</vehicle_No>
    <vehicle_Model>Audi</vehicle_Model>
    <Description>car.hood</Description>
    <colour>RED</colour>
</Vehicle>
<Vehicle>
    <vehicle_No>123</vehicle_No>
    <vehicle_Model>BMW</vehicle_Model>
    <Description>Bus.Brakes</Description>
    <colour>steel</colour>
</Vehicle>
<Vehicle>
    <vehicle_No>123</vehicle_No>
    <vehicle_Model>BMW</vehicle_Model>
    <Description>Bus.steering</Description>
    <colour>black</colour>
</Vehicle>
<Vehicle>
    <vehicle_No>234</vehicle_No>
    <vehicle_Model>benz</vehicle_Model>
    <Description>cycle.color</Description>
    <colour>violet</colour>
</Vehicle>
<Vehicle>
    <vehicle_No>345</vehicle_No>
    <vehicle_Model>nissan</vehicle_Model>
    <Description>car.color</Description>
    <colour>RED</colour>
</Vehicle>
</t>

Saída esperada em XML:

<t>
<Vehicle>
    <car>
        <color>BLACK</color>
        <hood>RED</hood>
    </car>
    <Bus>
        <Brakes>steel</Brakes>
        <Steering>black</Steering>
    </Bus>
    <cycle>
        <color>violet</color>
    </cycle>
</Vehicle>
<vehicle>
    <car>
        <color>RED</color>
    </car>
</vehicle>
</t>

Por favor, deixe-me saber se a pergunta não estava clara.

questionAnswers(1)

yourAnswerToTheQuestion