Bonjour à tous

Je voulais faire d'un fichier xml un fichier html avec un passage par un fichier 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
20
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet type="text/xsl" href="essais.xslt"?>
<recette>
 
	<entete>
		<auteur id="1">Casimir</auteur>
		<titre>Recette du Gloubi-Boulga</titre>
		<remarque>Pour une personne</remarque>
	</entete>
 
	<procedure>
		Remplir un saladier <BOLD>avec de la confiture de fraises</BOLD>, du chocolat râpé,
		des bananes écrasées, de la moutarde forte, des saucisses de Toulouse
		écrasées tièdes mais crues. Mélanger vigoureusement jusqu'à obtenir une
		bouillie marron-clair. Il est normal qu'il y ait des grumeaux. Les
		proportions sont environ égales pour tous les ingrédients, mais il est
		possible de varier selon les goûts de chacun. 	
	</procedure>
 
</recette>
Grâce à Virgul je sais maintenant que cela n'est pas suffisant, car IE interprète directement le xml. Je me suis dirigé alors vers l'aide php au rayon expat et fonctionnalités xml pour php où j'ai trouvé ce fichier exemple pour formuler une structure de document 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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
$file = "donnees.xml";
$depth = array();
 
function debutElement($parser, $name, $attrs) 
{
    global $depth;
    for ($i = 0; $i < $depth[$parser]; $i++) {
        echo "  ";
    }
    echo "$name\n";
    $depth[$parser]++;
}
 
function finElement($parser, $name) 
{
    global $depth;
    $depth[$parser]--;
}
 
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "debutElement", "finElement");
if (!($fp = fopen($file, "r"))) {
    die("Impossible d'ouvrir le fichier XML");
}
 
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("erreur XML : %s à la ligne %d",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}
xml_parser_free($xml_parser);
?>
MAIS : il semble que quelque chose ne plait pas qui m'affiche cette erreur :
"Notice: Undefined offset: 2 in c:\program files\easyphp1-8\www\edition\debut.php on line 12" et le même pour la ligne 18


Je pense qu'il n'arrive pas à trouver une valeur qque part. j'ai essayé d'initialiser les variables des fonctions sans résultat.

Question 1 : qui peut me dire de quoi vient cett p...... d'erreur ???

Puis j'ai essayé d'ajouter le code juste après l'écho du $name croyant qu'il allait afficher le nom de l'attribut d'une des balises xml ?!
A la place dans le résultat j'ai "Array" qui s'affiche suite à tous les noms de balises.

Question 2 : Comment il sait que $name c'est le nom de la balise et qu'il ne sait pas que $attrs est le nom de l'attribut. Ou alors j'ai tout faux quand je crois que $attrs = attribut. Ou alors le code manque d'arguments ???

Merci de votre aide....