Bonjour,
j'ai un XML avec une arborescence de ce type
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 NOEUD1 NOEUD2 NOEUD3/ TEXTE1... NOEUD3/ TEXTE2... /NOEUD2 /NOEUD1
pour chaque NOEUD1, je fais un <xsl:apply-templates/>
Ensuite dans le <xsl:template match="NOEUD2">,
comment faire pour afficher le contenu du premier NOEUD3 puis le TEXTE1 puis le contenu du second NOEUD3 puis le TEXTE2
(autrement dit en respectant l'ordre du XML)?
J'ai essayé avec un appel à <xsl:template match="NOEUD3"> avec <xsl:apply-templates/> dans <xsl:template match="NOEUD2">
mais comme prévu, le traitement du NOEUD3 se fait après l'affichage des différents textes.
Voici à quoi ressemble mes templates :
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 <xsl:template match="NOEUD2"> <br/> <xsl:value-of select="NOEUD2"/> <xsl:variable name="n" select="@N"/> <xsl:value-of select=".....($n))"/> <xsl:value-of select="$n"/> <xsl:apply-templates/> </xsl:template> <xsl:template match="NOEUD3"> <xsl:value-of select="NOEUD3"/> <xsl:variable name="s" select="@S"/> <xsl:value-of select="substring(......, 1, $s)"/> </xsl:template>
Partager