Bonjour ,

j'aimerai trier ce fichier xml et ordonnancer les différentes balises "<ordreMouvement>" selon le numéro <idEntete> (par ordre croissant).

Voici le fichier xml ci dessous :


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
16
17
18
19
20
21
22
23
24
25
26
<?xml version="1.0" encoding="ISO-8859-1"?>
<msgL3-1 xmlns="asd2km">
	<dateMouvement>2010-07-06</dateMouvement>
	<codeMouvement>555</codeMouvement>
	
	<ordreMouvement>
		<typeSource>Nouveau</typeSource>
		<idEntete>80000045</idEntete>
		<idPoste>1</idPoste>
		<quantite>2</quantite>
	</ordreMouvement>
	
	<ordreMouvement>
		<typeSource>Nouveau</typeSource>
		<idEntete>80000047</idEntete>
		<idPoste>3</idPoste>
		<quantite>2</quantite>
	</ordreMouvement>
	
		<ordreMouvement>
		<typeSource>Nouveau</typeSource>
		<idEntete>80000046</idEntete>
		<idPoste>2</idPoste>
		<quantite>4</quantite>
	</ordreMouvement>
</msgL3-1>
Voilà ce que j'aimerai obtenir obtenir en sortie de la transformation xsl :

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
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="ISO-8859-1"?>
<msgL3-1 xmlns="asd2km">
	<dateMouvement>2010-07-06</dateMouvement>
	<codeMouvement>555</codeMouvement>
	
	<ordreMouvement>
		<typeSource>Nouveau</typeSource>
		<idEntete>80000045</idEntete>
		<idPoste>1</idPoste>
		<quantite>2</quantite>
	</ordreMouvement>
	
	<ordreMouvement>
		<typeSource>Nouveau</typeSource>
		<idEntete>80000046</idEntete>
		<idPoste>2</idPoste>
		<quantite>4</quantite>
	</ordreMouvement>
	
	<ordreMouvement>
		<typeSource>Nouveau</typeSource>
		<idEntete>80000047</idEntete>
		<idPoste>3</idPoste>
		<quantite>2</quantite>
	</ordreMouvement>

</msgL3-1>
J'ai créé pour cela cette feuille xsl :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns: xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" encoding="ISO-8859-1"/>
 
<xsl:template match="/">
    <ordreMouvement>
      <xsl:for-each select="ordreMouvement">
        <xsl:sort select="idEntete" data-type="number" order="ascending"/>
      </xsl:for-each>
    </ordreMouvement>
</xsl:template>
 
</xsl:stylesheet>
En testant la transformation xsl avec xml spy, je n'obtiens pas le xml en sortie trié.

Pouvez vous m'aider ?

Merci