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.