J'ai le même symptôme que SDuh
http://www.developpez.net/forums/viewtopic.php?t=388359
en tentant d'utiliser XMLHTTPRequest (qui gère une boucle d'attente avant la fin du load)
pour le XSL, le code
avec un PHP basique (pour l'instant) qui fabrique le 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 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <div style='position:absolute; top:200px; left:300px'> <table border="1" cellspacing="0" cellpadding="3"> <tr bgcolor="#FFFF00"> <td>Artiste</td> <td>Titre</td> </tr> <xsl:for-each select="compilation/mp3"> <tr> <td><xsl:value-of select="artiste"/></td> <td><xsl:value-of select="titre"/></td> </tr> </xsl:for-each> </table> </div> </xsl:template> </xsl:stylesheet>
et enfin le HTML qui récupère le tout
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 <?php echo " <?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> <?xml:stylesheet type=\"text/xsl\" href=\"xsl_a.xsl\"?> <compilation> <mp3> <titre>Foule sentimentale".$Clas."</titre> <artiste>Alain Souchon</artiste> </mp3> <mp3> <titre>Solaar pleure</titre> <artiste>MC Solaar</artiste> </mp3> <mp3> <titre>Le baiser</titre> <artiste>Alain Souchon</artiste> </mp3> <mp3> <titre>Pourtant</titre> <artiste>Vanessa Paradis</artiste> </mp3> <mp3> <titre>Chambre avec vue</titre> <artiste>Henri Salvador</artiste> </mp3> </compilation> "; ?>
donc le symptone est d'afficher uniquement l'en-tête.
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 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='fr' lang='fr'> <head> <meta http-equiv='Content-Type' content='text/HTML; charset=iso-8859-1' /> <meta http-equiv='Content-Language' content='fr' /> <title>Essai de récupération de XML sur une portion de une page HTML</title> <script type='text/javascript'> function RequêteXml(Cible,Paramètres) { // chargement du fichier XSL var xslObj = new ActiveXObject("Microsoft.XMLDOM"); xslObj.async = false; xslObj.load("xsl_a.xsl"); // chargement du fichier XML var xhrObj = null; if (window.XMLHttpRequest) { // Firefox xhrObj = new XMLHttpRequest(); } else { if (window.ActiveXObject) { // Internet Explorer xhrObj = new ActiveXObject('Microsoft.XMLHTTP'); } else { // XMLHttpRequest non supporté par le navigateur alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...'); return; } } xhrObj.open('POST', 'xml_a.php', true); // En attendant une requete PHP xhrObj.onreadystatechange = function() { if(xhrObj.readyState == 4) { var xmlObj = xhrObj.responseXml; // Objet XML renvoyé du serveur (en mémoire) var Résultat = xmlObj.transformNode(xslObj); document.getElementById(Cible).innerHTML = Résultat; } } xhrObj.setRequestHeader('Content-type','application/x-www-form-urlencoded'); xhrObj.send(Paramètres); } </script> </head> <body> <div id='Début'>Début<br><input name='Début' value='Début' size=10></div> <div id='Cible'>Cible<br><input name='Cible' value='Cible' size=10></div> <div id='Suite' onclick="RequêteXml('Cible','Classe=Plouc')">Suite<br><input name='Suite' value='Suite' size=10></div> </body> </html>
Si je supprime les lignes d'n-tête du XSL, je ne reçois plus rien...
Pourquoi le FOREACH ne fonctionne pas ?
Merci de vos réponses éclairées ....
Partager