Bonjour à Tous,
Voici mon problème. J'ai dans un fichier source xml les elements suivants :
Et j'aimerai arriver à un résultat qui me les regroupe par 4. Du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <Comments> <Comment>Commentaire 1</Comment> <Comment>Commentaire 2</Comment> <Comment>Commentaire 3</Comment> <Comment>Commentaire 4</Comment> <Comment>Commentaire 5</Comment> <Comment>Commentaire 6</Comment> <Comment>Commentaire 7</Comment> <Comment>Commentaire 8</Comment> <Comment>Commentaire 9</Comment> </Comments>
J'ai écrit qq chose comme ca mais ca ne marche pas, j'en suis bien conscient, mais je ne trouve pas de solution viable :
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 <Texte> <Ligne1>Commentaire 1</Ligne1> <Ligne2>Commentaire 2</Ligne2> <Ligne3>Commentaire 3</Ligne3> <Ligne4>Commentaire 4</Ligne4> </Texte> <Texte> <Ligne1>Commentaire 5</Ligne1> <Ligne2>Commentaire 6</Ligne2> <Ligne3>Commentaire 7</Ligne3> <Ligne4>Commentaire 8</Ligne4> </Texte> <Texte> <Ligne>Commentaire 9</Ligne> </Texte>
J'ai chercher sur le forum mais je n'ai pas trouvé (peut être mal cherché certes).
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 <xsl:for-each select="/Comments/Comment"> <Texte> <xsl:if test="(position() mod 4) = 1"> <Ligne1><xsl:value-of select="."></Ligne1> </xsl:if> <xsl:if test="(position() mod 4) = 2"> <Ligne2><xsl:value-of select="."></Ligne2> </xsl:if> <xsl:if test="(position() mod 4) = 3"> <Ligne3><xsl:value-of select="."></Ligne3> </xsl:if> <xsl:if test="(position() mod 4) = 0"> <Ligne4><xsl:value-of select="."></Ligne4> </xsl:if> </xsl:for-each>
Est ce que qq 1 aurait un début de solution ou une url à me proposer ?
D'avance merci, cordialement,
Gedeon
Partager