Bon, je voudrais savoir si qq connait une API Java ou un programme utilisable en ligne de commande de diff de XML digne de ce nom.
Pour l'instant, j'ai essayé XMLUnit 1.4 et DiffX, et c'est pas terrible.
Je m'explique.
J'ai deux arbres XML
1.
<a>
<b>1</b>
<b>2</b>
<b>3</b>
</a>
2.
<a>
<b>2</b>
<b>3</b>
</a>
Je voudrais avoir en sortie un truc du genre:
Dans 1. <a><b>1</b></a> , noeud manquant dans 2.
Au lieu de ça, XMLUnit me sortira:
Diff dans 1: <a><b>1</b></a> , dans 2. <a><b>2</b></a>
Diff dans 1: <a><b>2</b></a> , dans 2. <a><b>3</b></a>
Diff dans 1: <a><b>3</b></a> , dans 2. manquant
Notez que les deux fichiers sont ordonnés (s'ils ne le sont pas, c'est évidemment bien pire, mais j'ai écrit un outil permettant d'ordonner les arbres XML comme je veux). Pour peu que les fichiers fassent plus de quelques Ko, ce genre de sortie est totalement inexploitable.
Quand à DiffX, j'ai l'impression qu'il se démerde mieux, mais présente des performances tellement abyssales qu'il n'est pas utilisable sur de la production (genre 20 mn pour deux pauvres fichiers de moins de 100 Ko pratiquement identiques sur un C2D, or j'ai plus de 10 000 fichiers à traiter, dont certains de plus de 10 Mo), et je suis pas trop fan de sa façon de présenter ses sorties.
---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien