Bonjour à tous !

J'utilise actuellement un fichier XSL qui ordonne mes records XML par code postal :

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>
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 :

<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