Bonjour,
Je suis débutant en XSL. Je suis face à une problématique, je vais essayer de vous décrire celle-ci du mieux possible, mais si je ne suis pas claire n'hésitez pas à me le dire pour plus de détails.
Je dois actuellement faire l'interface (et l'import de donnée) dans un logiciel. Je dispose d'un fichier source *.xml que je dois transformer. Pour le moment j'utilise de simples templates avec des tests d'existante (xsl:if). Donc rien de très compliqué. Par contre lors de mon traitement sur le fichier xml de résultat, je me suis rendu compte que les différents nœuds n'étaient pas dans la bonne ordre (je dois gérer une arborescence au final).
Je souhaite donc mettre en ordre des éléments selon un élément fils :
Exemple :
Avant
Après
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <ELEMENT> <NUM>5</NUM> <AUTREELEMENT/> </ELEMENT> <ELEMENT> <NUM>3</NUM> <AUTREELEMENT/> </ELEMENT> <ELEMENT> <NUM>1</NUM> <AUTREELEMENT/> </ELEMENT>
Tout en sachant comme je le dis plus haut que j'applique une template sur ELEMENT et les différents éléments enfant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <ELEMENT> <NUM>1</NUM> <AUTREELEMENT/> </ELEMENT> <ELEMENT> <NUM>3</NUM> <AUTREELEMENT/> </ELEMENT> <ELEMENT> <NUM>5</NUM> <AUTREELEMENT/> </ELEMENT>
J'essaye donc pour le moment d'utiliser xsl:sort en plus de xsl:apply-templates. Mais cela ne donne pas grande chose.
Merci pour votre aide.
Partager