Bonjour à tous,
J'ai un script Ajax qui récupère un fichier XML et un fichier XSL et les transforme en XHTML. Il fonctionne correctement mais j'ai des problèmes avec la transformation XML/XSL.
Voici le code XML généré dynamiquement avec PHP :
Sur cette exemple, PHP n'est pas utile mais par la suite, je générerais du contenu grâce à des requetes SQL.
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 <?php header("Content-type: text/xml"); echo ("<?xml version='1.0' encoding=\"ISO-8859-1\" ?>\n"); ?> <centre> <bloc> <titre>Titre 1</titre> <contenu>Test</contenu> </bloc> <separation></separation> <bloc_fin> <titre>Titre 2</titre> <contenu>Test</contenu> </bloc_fin> </centre>
Le code XSL associé :
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="centre"> <xsl:apply-templates select="bloc" /> <xsl:apply-templates select="bloc_fin" /> </xsl:template> <xsl:template match="bloc"> <div class="bloc"> <p class="h2"><xsl:value-of select="titre" /></p><br/> <xsl:apply-templates select="contenu" /> </div> <img class="image" src="doc/img7.jpg" alt="" /> </xsl:template> <xsl:template match="bloc_fin"> <div class="bloc"> <p class="h2"><xsl:value-of select="titre" /></p><br/> <xsl:apply-templates select="contenu" /> </div> </xsl:template> <xsl:template match="contenu"> <p><xsl:value-of select="contenu" /></p> </xsl:template> </xsl:stylesheet>
Une partie du code fonctionne bien puisque mes bloc sont disposés comme je le souhaite, les valeurs des titres apparaissent mais pas celles des "contenu".
Je n'arrive pas à savoir pourquoi, je suppose que cela est liée à une mauvaise déclaration quelque part mais je en trouve pas mon erreur.
Merci de m'éclairer,
LoK.
Partager