XSLT - Tricky Transformation
Mam problem z transformacją XSLT fragmentów XML. Źródłowy XML wygląda tak:
<XXX>
<Name>Sample</Name>
<MMM>
<AAA ID="A"/>
<MMM>
<BBB ID="B"/>
<MMM>
<AA ID="C"/>
<BB ID="D"/>
</MMM>
</MMM>
</MMM>
</XXX>
Ale trzeba to przekształcić w:
<XXX>
<Name>Sample</Name>
<MMM>
<MMM>
<MMM>
<AAA ID="A"/>
<BBB ID="B"/>
</MMM>
<AA ID="C"/>
</MMM>
<BB ID="D"/>
</MMM>
</XXX>
Zasada jest prosta, element MMM może mieć tylko dwa węzły elementu podrzędnego. Jeśli tylko jeden z tych węzłów stanie się innym MMM, musi zająć pierwszą pozycję.
Łatwo jest używać kodu, ale te fragmenty XML są wartościami dla kolumn XML w bazie danych SQL i chcę używać SQL wraz z XSLT do aktualizacji tych wartości.
Wszelkie wskazówki lub sugestie?