XSLT - Tricky Transformation
Estou tendo problemas com uma transformação XSLT de fragmentos XML. O XML de origem é semelhante a:
<XXX>
<Name>Sample</Name>
<MMM>
<AAA ID="A"/>
<MMM>
<BBB ID="B"/>
<MMM>
<AA ID="C"/>
<BB ID="D"/>
</MMM>
</MMM>
</MMM>
</XXX>
Mas precisa ser transformado em:
<XXX>
<Name>Sample</Name>
<MMM>
<MMM>
<MMM>
<AAA ID="A"/>
<BBB ID="B"/>
</MMM>
<AA ID="C"/>
</MMM>
<BB ID="D"/>
</MMM>
</XXX>
A regra é simples, o elemento MMM só pode ter dois nós de elemento filho. Se apenas um desses nós for outro MMM, ele precisará ocupar a primeira posição.
É fácil usar código, mas esses fragmentos XML são valores para colunas XML em um banco de dados SQL, e eu quero usar o SQL juntamente com o XSLT para atualizar esses valores.
Qualquer ponteiro ou sugestão?