Bonjour,

j'ai un souci lors du traitement de responseXML sur un xml généré par une servlet :

Ci-dessous un morceau du xml généré.

C'est complètement fonctionnel avec FF, mais IE6, me jette.

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"?>
<tab>
	<entete>
		<colonne>Numero</colonne>
		<colonne>Date</colonne>		<colonne>Operateur</colonne>
		<colonne>Libelle</colonne>
		<colonne>Nature</colonne>
		<colonne>Type</colonne>
		<colonne>Evenement</colonne>
<colonne>Rapport</colonne>	</entete>	<Evenements>
		<Evt>
			<Numero>22</Numero>
			<Date>2007-02-13 11:13:21.0</Date>
			<Operateur>olivier</Operateur>
			<Libelle></Libelle>
			<Nature>feu</Nature>
			<Type>incendie</Type>
			<Evenement>niveau 1</Evenement>
                        <Rapport>NONE</Rapport>		
               </Evt>
.....

J'appelle ces deux fonctions pour constituer mes documents DOM et XSLT
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
GetxmlDoc = function()
{
xmlDoc = null;
  var xhr_object = CreerInstanceAjax(); 
 
    xhr_object.open("POST","Control2?action=MCGetEvenementX&etape=xmlDoc",true);    		
 	// Ce code s'execute lorsque la reponse arrive.  
 
 
 	xhr_object.onreadystatechange = function() 
 	{    
    	if(xhr_object.readyState == 4) 
    	{     	
    		if (xhr_object.status==200)
    		{
    			alert("xmlDoc statut 200 : OK");
	    		xmlDoc = xhr_object.responseXML;
				alert("nb elements direct fils xmlDoc : "+xmlDoc.childNodes.length);
 
	    		if(xslDoc != null && xmlDoc != null)
	    		{
		    		alert('xml : deux non null');
		    		display();
     	 		} 
 			}
 		} 		
	} 	 	 
 xhr_object.send(null);    						
}
 
 
GetxslDoc = function()
{
	xslDoc=null;
  var xhr_object = CreerInstanceAjax(); 
 
    xhr_object.open("POST","Control2?action=MCGetEvenementX&etape=xslDoc",true);    		
 
 	xhr_object.onreadystatechange = function() 
 	{    
    	if(xhr_object.readyState == 4) 
    	{     	
    		if( (xhr_object.responseText!="AUCUN") )
    		{
				xslDoc = xhr_object.responseXML;
				alert("nb elements direct fils xslDoc : "+xslDoc.childNodes.length);
 
	    		if(xslDoc != null && xmlDoc != null)
	    		{
		    		alert('xsl : deux non null');
		    		display();
	    		}
     	 	} 
 		} 		
	} 	 	 
 xhr_object.send(null);    						
}
A un moment, les deux son non nuls, je rentre alors dans le display()

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
display = function()
{
	alert('display');
	var outPut = document.getElementById("output");
	alert("outPut "+outPut);
	try // IE
	{
		alert('ie');
		outPut.innerHTML = null;
		alert('ie2');
		outPut.innerHTML = "toto";
		alert('ie2.5');
		alert("nb colonnes : "+xmlDoc.getElementsByTagName("Colonne").length);
		outPut.innerHTML = xmlDoc.transformNode(xslDoc);
		alert('ie3');
	}
	catch(exc)// Mozilla
	{
		try
		{
			alert('Firefox');
			var xsltProcessor = new XSLTProcessor();									
			xsltProcessor.importStylesheet(xslDoc);
			var fragment = xsltProcessor.transformToFragment(xmlDoc, document);
			outPut.appendChild(fragment);
			majbutton();
 
		}
		catch(exc)
		{
		alert('fonction display Exception');
		}
	}
}// fin de display
Et cette instruction leve une exception sous IE :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
outPut.innerHTML = xmlDoc.transformNode(xslDoc);
Je signale que je construis mon objet xhr-request correcement, en tenant compte de IE et de FF.

Merci aux bonnes ames aptes à m'aider ^^