Bonjour à tous.
Voici la structure de mon fichier XML (je note les attributs servant d'identifiant uniquement et les valeurs m'intéressant) :

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
28
 
<Report>
     <Results_list Id="Result_id1">
        <Result_line Number="1">
           <Val Column="1">31/03/2009 12:00</Val>
           <Val Column="2">31/03/2009 06:30</Val>
           <Val Column="3">28/03/2009 00:00</Val>
           <Val Column="4">30/03/2009 23:00</Val>
           ...
        </Result_line>
        <Result_line Number="2">
           <Val Column="1">2</Val>
           <Val Column="2">5</Val>
           <Val Column="3">7</Val>
           <Val Column="4">1</Val>
           ...
        </Result_line>
        ...
     </Results_list>
     <Results_list Id="Result_id2">
        ...
     </Results_list>
 
     <Results_list Id="Result_id3">
        ...
     </Results_list>
     ...
</Report>
J'espère tout d'abord que ma structure XML est claire.

Je me sers d'un .XSL pour générer un fichier compatible .CSV, c'est à dire avec mes différentes valeurs séparées par un ;

Il me faut pour cela, concaténer les valeurs provenant de deux <Result_line> différents.

Exemple suivant mon exemple de fichier XML:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
           31/03/2009 12:00 | 2
           31/03/2009 06:30 | 5
           28/03/2009 00:00 | 7
           30/03/2009 23:00 | 1
Pour lire mes données, j'ai deux boucles :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
<xsl:for-each select="Result_line">		
    <xsl:for-each select="Val">
 
    </xsl:for-each>
</xsl:for-each>
Il me faut donc, pour chaque noeud Val, aller lire le noeud Val ayant le même numéro de colonne mais dans le Result_line +1.

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
<Report>
     <Results_list Id="Result_id1">
        <Result_line Number="1">
           <Val Column="1">31/03/2009 12:00</Val>
           <Val Column="2">31/03/2009 06:30</Val>
           <Val Column="3">28/03/2009 00:00</Val>
           <Val Column="4">30/03/2009 23:00</Val>
         </Result_line>
        <Result_line Number="2">
           <Val Column="1">2</Val>
           <Val Column="2">5</Val>
           <Val Column="3">7</Val>
           <Val Column="4">1</Val>
         </Result_line>
     </Results_list>
</Report>
J'ai essayé de multiples combinaisons avec les parent():: et autres following-sibling, mais aucun n'a réussi à me renvoyer la bonne valeur.

Merci à tous de votre aide.