standardowe grupowanie Muenchian - XSLT

Tworzyłem xsl, który konwertuje wejściowy xml na inny xml używając XSLT, jak wspomniano poniżej.

Logika: W pliku wejściowym xml wspominam cztery podelementy „vehicle_No, vehicle_Model, Description, color” w „Vehicle”. Chcę uzyskać wynik „jeśli„ vehicle_No, vehicle_Model ”pasuje do następnego„ pojazdu ”, wtedy wartość w„ opisie ”powinna stać się elementami, a następnie wynik powinien wyglądać jak…, Również grupowanie Muenchian dla„ Opisu ”, gdy Mecze „pojazd_No, pojazd_Model”,

Przykładowy O / P: Jeśli pasuje

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

Jeśli nie pasują

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

Jeśli w przypadku otrzymywania tej samej wartości dla „opisu” wymienionego w danych wejściowych xml i „vehicle_No, vehicle_Model” nie są zgodne. Wtedy o / p powinien wyglądać

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

Mój wejściowy plik XML:

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

Oczekiwany wynik w formacie 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>

Daj mi znać, gdyby pytanie było niejasne.

questionAnswers(1)

yourAnswerToTheQuestion