Bonjour tous le monde!
J'viens de lire le jolie tuto proposé sur cette page: http://haypo.developpez.com/tutoriel/xml/xslt/
Mais mon petit soucis c'est que si une balise est ouverte et qu'elle n'est pas refermé dans mon fichier liste.xml, ça me renvoi cette erreur:
Voici mon code:Warning: Sablotron error on line 6: XML parser error 7: mismatched tag in /home.5/s/e/r/servicesng/www/fre/fre.php on line 7
Erreur XSLT ...
fichier php:
Fichier liste.xml:
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 <?php // Crée le processeur XSLT $xh = xslt_create(); xslt_set_base ($xh, 'file://' . getcwd () . '/'); // Traite le document, puis affiche le résultat $result = xslt_process($xh, 'liste.xml', 'xslt.xsl'); if (!$result) echo ("Erreur XSLT ..."); else echo ($result); // Détruit le processeur XSLT xslt_free($xh); ?>
Fichier xslt.xsl:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?xml version="1.0" encoding="ISO-8859-1"?> <p> <gras>Salut ça va?</gras> <ren>Kikou <rien>ouaip et toi?</rien> </p>
Ce que je souhaiterais c'est que si une balise est ouverte et n'est pas refermé alors qu'elle soit traité comme du texte normal.
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 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html" encoding="ISO-8859-1" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" indent="yes" /> <xsl:template match="p"> <p> <xsl:apply-templates select="gras" /> <xsl:apply-templates select="italique" /> <xsl:apply-templates select="rien" /> </p> </xsl:template> <xsl:template match="gras"> <strong><xsl:value-of select="." /></strong> </xsl:template> <xsl:template match="italique"> <em><xsl:value-of select="." /></em> </xsl:template> <xsl:template match="rien"> <xsl:value-of select="." /> </xsl:template> </xsl:stylesheet>
Partager