Bonjour,
Je souhaite juste charger un document XML et un document XSL afin de les fusionner pour afficher le r�sultat dans un div.

Mais je butte sur un tas de probl�mes.
Les variables xml et xsl sont bien d�clar�es comme des objets dans load_xml ou load_xsl mais sont � null dans load_file.
Je les ai mis en globales car je ne les r�cup�rais pas non plus en objets par un return de la fonction.
Ce script me fait des trucs bizarres, j'ai mis en commentaire l'appel de la fonction devant m'afficher le r�sultat de la fusion.
Si je fais un alert de xml dans load_xml par exemple, je peux avoir plusieurs bo�tes qui s'affichent.

Mes deux fichiers se fusionnent bien si j'ouvre le XML dans un navigateur, c'est juste un listing b�te et m�chant des donn�es XML.

Voici le code (un amalgame de ce que j'ai pu trouv� sur le net) et merci pour vos r�ponses :

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<SCRIPT language="Javascript">
<!--
  var xhr = null;
  var xml = null;
  var xsl = null;

  function getXhr(){
   if(window.XMLHttpRequest){ // Firefox et autres
     xhr = new XMLHttpRequest();
    if (xhr.overrideMimeType) xhr.overrideMimeType('text/xml'); 
   } 
   else if(window.ActiveXObject){ // Internet Explorer 
     try {
       xhr = new ActiveXObject("Msxml2.XMLHTTP");
     }
    catch (e) {
      xhr = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (xhr.overrideMimeType) xhr.overrideMimeType('text/xml'); 
   }
   else {
     alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
     xhr = false;
   }
  }

  function load_xml(value){
    getXhr();
    xhr.onreadystatechange = function(){
     if(xhr.readyState == 4 && xhr.status == 200){
        xml = xhr.responseXML;
     }
    }
    xhr.open("POST","http://localhost/XML/essai.xml",true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    //xhr.setRequestHeader("Connection", "close");
    xhr.send("quoi="+value);
  }

  function load_xsl(nomfichier){
    getXhr();
    xhr.onreadystatechange = function(){
     if(xhr.readyState == 4 && xhr.status == 200){
        xsl = xhr.responseXML;
     }
    }
    xhr.open("GET","http://localhost/XML/essai.xsl",true);
    xhr.send(null);
  }

  function transform(ident) { 
    try { /* Navigateur bas� sur Gecko. */ 
      if (window.XSLTProcessor) { 
        var xsltProcessor = new XSLTProcessor(); 
        xsltProcessor.importStylesheet(xsl); 
        var fragment = xsltProcessor.transformToFragment(xml, document); 
        var target = document.getElementById(ident); 
       rng = document.createRange();
       rng.setStartBefore(target);
       while (target.hasChildNodes())target.removeChild(target.lastChild);
       target.appendChild(fragment);
      } 
      else if (window.ActiveXObject) { /* ActiveX pour Internet Explorer. */ 
        document.getElementById(ident).innerHTML = xml.transformNode(xsl); 
      } 
    } 
    catch (e) { 
      return e; 
    } 
  } 

  function load_file(xml_charger, xsl_charger, ident, valeur_liste) { 
    load_xml(xml_charger);
    load_xsl(xsl_charger+".xsl");
    //var fichier = transform(ident); 
  }

function getList(valeur_liste, nom_div_liste){
  if (nom_div_liste=='exposition_vents'){
    load_file(nom_div_liste, nom_div_liste, nom_div_liste, valeur_liste);
  }
}

-->
</script><title>Test xml</title>
</head>
<body>

  <FORM NAME="form1" ACTION="index.php" METHOD="POST" >
   <div id="exposition_vents">
       <select id="form_exposition" onChange="getList(this.options[this.selectedIndex].value, 'exposition_vents');">
      <option value='1'>un</option>
     <option value='2'>deux</option>
    </select>
  </div>
  </FORM>

  <script>getList('1', 'exposition_vents');</script>

</body>
</html>
Voil� voil�, d�sol� pour les balises code