Bonjour,

Pour mon stage, je doit réaliser un parsing de xml en php mais sans utiliser les fonctions existante. J'utilise donc un fopen("fichier.xml") et j'arrive à afficher mon contenu xml mais les style enregistré dans le fichier xsl ne sont pas pris en compte.
Je viens donc poster sur ce forum pour voir si quelqu'un pourrait m'aider un peu.
Voici mon code dans le 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
21
22
 
<?php
    $file = "Index.xml";
 
    function characterData($parser, $data){
        if(trim($data) == '') return false;
            echo "$data<br>";
    }
 
    $xml_parser = xml_parser_create();
    xml_set_character_data_handler($xml_parser, "characterData");
    if (!($fp = fopen($file, "r"))) {
        die("could not open XML input");
    }
 
    while ($data = fread($fp, 4096)) {
        if (!xml_parse($xml_parser, $data, feof($fp))) {
            die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));
        }
    }
    xml_parser_free($xml_parser);
?>
et voici mon code xml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<?xml version="1.0" encoding="iso-8859-1"?>
<?DOCTYPE article SYSTEM "Index.dtd"?>
<?xml-stylesheet type="text/xsl" href="Index.xsl"?>
<article>
	<surtitre>Etude</surtitre>
	<titre>Saveur du champagne : le secret coince la bulle</titre>
	<soustitre>Des bulles qui ne font pas que "chatouiller les narines"...</soustitre>
</article>
code xsl :
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
 
<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.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
 
<xsl:template match="/">
	<html xmlns="http://www.w3.org/1999/xhtml">
		<head>
		    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
		    <title>Annonce-Top</title>
		</head>
		<body>
		    <h2><xsl:value-of select="//surtitre"/></h2><br/>
		    <h1><xsl:value-of select="//titre"/></h1><br/>
		    <h3><xsl:value-of select="//soustitre"/></h3>
		</body>
	</html>
</xsl:template>
 
</xsl:stylesheet>
Et lorsque je lance mon fichier xml dans le navigateur il marche et le style des titres sont pris en compte.
merci