Bonjour à tous,
Comme vous le savez, l'ordre des attributs n'a aucune importance dans un élément. Les deux éléments suivant sont tous les deux valides avec la même grammaire:
Dans mon cas, l'ordre des attributs est primordial. Après que mon fichier XML soit généré, j'applique un mécanisme de signature pour signer mon document afin d'éviter qu'une personne le modifie.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <Tax rate="7.0" currency="USD">27.57</Tax> <Tax currency="USD" rate="7.0">27.57</Tax>
La version précédente de mon application utilisait DOM level1 avec JaxB. Dans la nouvelle version, nous avons fait évolué le tout: DOM level 2, JaxB 2.1.6. Le problème, c'est qu'avant, DOM me générait ceci:
et que maintenant, il inverse les attributs (apparemment pour les mettre par ordre alphabétique - du moins pour ce que j'ai pu constater):
Code : Sélectionner tout - Visualiser dans une fenêtre à part <Tax rate="7.0" currency="USD">27.57</Tax>
Et bien entendu, la signature n'est pas la même pour les deux documents. Ce qui fait que mon application n'est plus capable de lire les fichiers xml créer par la version précédente. Elle me dit, à juste titre, que la signature n'est pas valide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <Tax currency="USD" rate="7.0">27.57</Tax>
D'où ma question (finalement ), comment faire pour obliger DOM à utiliser les attributs dans un certain ordre, et pas d'après son bon vouloir?
Merci de m'avoir lu, et également pour vos réponses.
Partager