Bonjour à tous,
je ne savais pas trop où mettre la discussion alors si je me suis trompé, j'en suis désolé.
J'ai fait plusieurs recherches et je n'ai pas réussi à trouver ce que je voulais.
Voilà mon problème :
j'ai une page principale en html dans laquelle j'utilise Ajax. Lors d'un clic, j'envoie une requete ajax vers un script php qui réalise une connexion mysql et renvoi du xml et lorsque la réponse est récupérée dans le fichier html le fichier xsl n'est pas pris en compte. Enfin, ce que j'ai fait ne marche pas. Je ne sais pas trop si vous comprenez ce que je veux faire.
Mais en tout cas, voici mes différents scripts.
index.html
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
42
43
44
45
46
47
48 var xmlHttp = GetXmlHttpObject(); function GetXmlHttpObject() { var objXMLHttp = null ; if (window.XMLHttpRequest) { // pour non-IE objXMLHttp = new XMLHttpRequest() ; } else { if (window.ActiveXObject) { try { // pour IE objXMLHttp =new ActiveXObject("Msxml2.XMLHTTP") ; } catch (e) { try { // pour une autre version de IE objXMLHttp =new ActiveXObject("Microsoft.XMLHTTP") ; } catch (e) { window.alert("Votre navigateur ne prend pas en charge l'objet XMLHTTPRequest.") ; } } } } return objXMLHttp ; } function affiche_groupes() { xmlHttp.onreadystatechange=traiterGroupes; xmlHttp.open("GET","liste_groupes.php",true); xmlHttp.send(null); } function traiterGroupes() { if (xmlHttp.readyState == 4) { document.getElementById('bloc_principal').innerHTML = xmlHttp.responseXML; } }
liste_groupes.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
23
24
25
26
27
28
29
30 header("Content-Type: text/xml" ); session_start(); if (isset($_SESSION['idUser'])) { include_once("./connexion/connexion.inc.php"); // Connexion automatique $req=connexion::requete("SELECT * FROM GROUPE") ; $xml = '<?xml version="1.0" encoding="UTF-8" ?>'; $xml .= '<?xml-stylesheet type="text/xsl" href="./liste_groupes.xsl"?>'; $xml .= '<!DOCTYPE groupes SYSTEM "./liste_groupes.dtd">'; $xml .= "<groupes>"; while (($ligne = mysql_fetch_array($req))!== false) { $xml .= "<groupe>"; $xml .= "<id>".$ligne['idGroup']."</id>"; $xml .= "<image><img src='./images/".$ligne['imgGroup']."' width='60' height='50'></image>"; $xml .= "<nom>".$ligne['nomGroup']."</nom>"; $xml .= "<description>".$ligne['descrGroup']."</description>"; $xml .= "</groupe>"; } // Déconnexion automatique en fin de script $xml .= "</groupes>"; echo $xml; }
liste_groupes.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
21 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <table border="1"> <xsl:for-each select="groupes/groupe/"> <tr> <td><xsl:value-of select="id"/></td> <td><xsl:value-of select='image'/></td> <td><xsl:value-of select="nom"/></td> <td><xsl:value-of select="description"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Donc comment je dois faire pour que mon fichier xsl soit pris en compte dans index.html lors de l'affichage ?
Merci à tous ceux qui répondront.
Partager