Trier puis ré-écrire le XML
Bonjour à tous,
J'ai un XML en entrée:
Code:
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
| <LOTS>
<LstIDLOT>
<IDLOT NLOT="1" TLOT="P2" DLOT="2014-06-25">
<LstETAB>
<ETAB>
<IDETAB ID="1234" />
<ADRESSE NOM1="TOTO" ADR1="rue toto" CPOS="75000" VIL="PARIS" />
<LstEMAIL>
<EMAIL TYPE="DIR" EMA="toto@toto.com" />
<EMAIL TYPE="PROF" EMA="teacher2@toto.com" />
<EMAIL TYPE="PROF" EMA="teacher1@toto.com" />
</LstEMAIL>
</ETAB>
<ETAB>
<IDETAB ID="5678" />
<ADRESSE NOM1="TITI" ADR1="rue titi" CPOS="75000" VIL="PARIS" />
<LstEMAIL>
<EMAIL TYPE="DIR" EMA="titi@titi.com" />
<EMAIL TYPE="PROF" EMA="teacher15@titi.com" />
<EMAIL TYPE="PROF" EMA="teacher9@titi.com" />
</LstEMAIL>
</ETAB>
<LstETAB>
</IDLOT>
</LOTS> |
Je cherche à ré-écrire ce XML mais en ayant trié les emails. Et là je sêche :-(
J'ai bien tenté un truc de ce genre mais ce n'est pas bon:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method="xml"
encoding="UTF-8"
indent="no" />
<xsl:template match="LOTS">
<xsl:for-each select="LstIDLOT/IDLOT/LstETAB/ETAB/LstEMAIL/EMAIL">
<xsl:sort select="@EMA" data-type="text" order="ascending" />
<xsl:copy-of select="." />
</xsl:for-each>
<xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet> |
Est-ce que quelqu'un aurait une petite idée svp ?
D'avance merci.
Cordialement