Bonsoir / Bonjour,

j'ai un fichier XML avec la structure 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
16
17
18
<Article>
    <Id>4046</Id>
    <name>Pop Up Petit prince - Nouvelle version</name>
    <itemgroupid>01</itemgroupid>
    <name>Livre</name>
    <Auteur>
      <AuteurId>2162</AuteurId>
      <Prenom>Antoine</Prenom>
      <Libelle>de Saint-Exupéry</Libelle>
      <NumAuteur>1</NumAuteur>
    </Auteur>
    <Auteur>
      <AuteurId>12878</AuteurId>
      <Prenom>Levi</Prenom>
      <Libelle>Henriksen</Libelle>
      <NumAuteur>1</NumAuteur>
    </Auteur>
</Article>
Le but est de concaténer les prénom / noms des différent auteur en les séparant d'un " - ".
J'ai une solution, mais je donc prévoir le nombre maximum de cas.
Existe-t-il une structure de boucle pour faire la meme chose ?

mon code actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<COL><DATA><xsl:value-of select="concat(./Auteur[1]/Prenom,' ',./Auteur[1]/Libelle)" />
<xsl:if test="./Auteur[2]/NumAuteur > 0 ">  
<xsl:value-of select="concat(' - ',./Auteur[2]/Prenom,' ',./Auteur[2]/Libelle)" />
</xsl:if> 
<xsl:if test="./Auteur[3]/NumAuteur > 0 ">  
<xsl:value-of select="concat(' - ',./Auteur[3]/Prenom,' ',./Auteur[3]/Libelle)" />
 </xsl:if> 
<xsl:if test="./Auteur[4]/NumAuteur > 0 ">  
<xsl:value-of select="concat(' - ',./Auteur[4]/Prenom,' </xsl:if></DATA></COL>
Merci par avance pour votre aide !