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 :
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>
Sur cette exemple, PHP n'est pas utile mais par la suite, je générerais du contenu grâce à des requetes SQL.



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.