Bonjour tout le monde,
Une fois de plus je me trouve confronté à un problème qui paraît pourtant simple.
Je m'explique, j'ai un fichier XML que je souhaite simplifier via un filtre XSLT, jusque là ça va. Le problème est que ce fichier xml contient différentes balises de même niveau et je n'arrive pas à récupérer les deux.
Avec un exemple ça sera mieux : voici la structure de mon xml
Via mon filtre XSLT je souhaite obtenir quelque chose du genre :
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 <body> <p> ... <t>...</t> </p> <p> ... <t>...</t> </p> <tbl> ... <tr>...</tr> </tbl> <p> ... <t>...</t> </p> ... </body>
Le problème est que je ne récupère que les balises <p> et du coup j'obtiens :
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 <body> <paragraphe> <texte>...</ttexte> </paragraphe> <paragraphe> <texte>...</texte> </paragraphe> <tableau> <textTableau>...</textTableau> </tableau> <paragraphe> <texte>...</texte> </paragraphe> ... </body>
Voici la partie de mon XSLT concerné :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <body> <paragraphe> <texte>...</ttexte> </paragraphe> <paragraphe> <texte>...</texte> </paragraphe> <paragraphe> <texte>...</texte> </paragraphe> ... </body>
Encore un fois je suis désolé pour mes questions mais ça ne fait pas très longtemps que je pratique le XSLT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <body> <xsl:choose> <xsl:if test="p"> <xsl:apply-templates select="p" /> </xsl:if> <xsl:otherwise> <xsl:apply-templates select="tbl" /> </xsl:otherwise> </xsl:choose> </body>
Si quelqu'un peut m'aider ça serait super ! Merci d'avance.
Partager