Bonjour le forum,

Je suis confronté à un souci (sans doute de débutant) sur le traitement xslt d'un fichier xml.

J'ai un fichier de départ 01.xml de la forme suivante :
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
<root>
  <item>
    <id>01</id>
    <nom>Toto</nom>
    <age>20</age>
    <note>05/20</note>
  </item>
  <item>
    <id>02</id>
    <nom>Lulu</nom>
    <age>15</age>
    <note>12/20</note>
  </item>
  ...
</root>
C'est à dire un fichier qui contient les données plus ou moins personnelles de plusieurs personnes (plusieurs fiches item).

Pour une publication à l'aide d'InDesign, je veux séparer les données personnelles (nom et âge) des données à analyser (note) qui apparaitront sur deux calques différents. J'ai donc crée un fichier xsl, qui me permet d'obtenir le fichier 02.xml suivant :
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
<root>
  <perso>
    <item>
      <nom>Toto</nom>
      <age>20</age>
    </item>
    <item>
      <nom>Lulu</nom>
      <age>15</age>
    </item>
  </perso>
  <stat>
    <item>
      <id>01</id>
      <note>05/20</note>
    </item>
    <item>
      <id>02</id>
      <note>12/20</note>
    </item>
  </stat>
</root>
Jusque là aucun pb, je sais faire, ça marche tout seul.

Ensuite je voudrais pouvoir faire la réciproque. C'est à dire, à l'aide d'une transformation XSLT, revenir sur un fichier XML avec la structure de départ.
Je ne sais pas comment faire. J'ai tenté avec des xsl:for-each, ou en jouant sur la position du noeud élément, mais rien ne marche.

Est-ce que quelqu'un aurait un tuyau ?

D'avance merci