Ordenar uma árvore XML por atributo

Oi,

tou precisando de uma função para ordenar uma árvore XML em java por atributo.

Ex: tenho este XML

(....) (....) (....)

e quero passar a ter:

(....) (....) (....)

Como posso fazer isto de uma forma simples?

Obrigado

xsl:sort ?

O problema é que eu não tenho ficheiro XLS.

Tenho sim um DTD que me é gerado automaticamente pelo NETBEANS.

Vou-me tentar explicar melhor:

A minha aplicação tem uma lista ordenada. Eu gravo um ficheiro XML dando a posição na lista ao atributo “OrderNumber”.

Tenho outra aplicação que lê o mesmo ficheiro XML pela ordem que os nós aparecem e insere os resultados noutra lista. Nesta aplicação não faço (nem quero fazer) qualquer verificação ao “OrderNumber”.

O que queria era uma função à qual eu enviasse a arvore e me fosse retornada a mesma arvore mas já ordenada. Assim ela já podia ser lida com garantia que estava pela ordem certa.

Assim como eu tenho, a coisa funciona pois eu gravo por ordem e leio por ordem. O problema é se um utilizador editar à mão o XML e não colocar o dado inserido na posição certa. Era isso que eu queria garantir.