Bonjour à tous !
J'utilise actuellement un fichier XSL qui ordonne mes records XML par code postal :
Ce fichier fonctionne très bien mais les besoins ont maintenant changé. Il faut que le fichier XML soit trié par attribut ToBeTreated (0 ou 1; les records ayant 1 d'abord, ceux ayant 0 ensuite), tout en gardant le tri précédent en tri "secondaire". C'est un peu confus, je vais donc donner un petit exemple de ce que je cherche à avoir dans mon XML de sortie après le tri :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="windows-1252"/> <xsl:template match="*"> <xsl:copy> <xsl:for-each select="@*"> <xsl:copy-of select="."/> </xsl:for-each> <xsl:apply-templates select="node()"> <xsl:sort select="@CodePostal"/> </xsl:apply-templates> </xsl:copy> </xsl:template> </xsl:stylesheet>
<Record ToBeTreated="1" CodePostal="01000" ... />
<Record ToBeTreated="1" CodePostal="02000" ... />
<Record ToBeTreated="1" CodePostal="03000" ... />
<Record ToBeTreated="1" CodePostal="03100" ... />
<Record ToBeTreated="1" CodePostal="04000" ... />
<Record ToBeTreated="1" CodePostal="05000" ... />
<Record ToBeTreated="1" CodePostal="06000" ... />
<Record ToBeTreated="0" CodePostal="01000" ... />
<Record ToBeTreated="0" CodePostal="02000" ... />
<Record ToBeTreated="0" CodePostal="02100" ... />
<Record ToBeTreated="0" CodePostal="03000" ... />
<Record ToBeTreated="0" CodePostal="04000" ... />
<Record ToBeTreated="0" CodePostal="05000" ... />
<Record ToBeTreated="0" CodePostal="06000" ... />
Et ainsi de suite ...
La question est donc la suivante : comment modifier mon fichier XSL de telle manière qu'il adopte le nouveau tri?
Merci d'avance pour vos lumières![]()
Partager