[XML/XSLT/JavaScript] problème de transformat

Fermé
dafolog Messages postés 4 Date d'inscription lundi 22 août 2005 Statut Membre Dernière intervention 27 décembre 2005 - 27 déc. 2005 à 14:25
 Utilisateur anonyme - 29 mars 2006 à 15:00
Bonjour,

J'ai quelques problèmes en essayant de transformer mon XML externe via un XSL et d'afficher le résultat dans un bloc <div> (avec la fonction innerHTML).

	        var req;
	var req2;
	var xml;
	var xsl;

	
	function affichcat(url) {
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
		
	req2 = new XMLHttpRequest();
        req2.onreadystatechange = processReqChange2;
        req2.open("GET", 'transform.xsl', true);
        req2.send(null);

    } else if (window.ActiveXObject) {

        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
		req2 = new ActiveXObject("Microsoft.XMLHTTP");
        if (req2) {
            req2.onreadystatechange = processReqChange2;
            req2.open("GET", 'transform.xsl', true);
            req2.send();
        }
    }
	
	}
	

	function processReqChange() {

    if (req.readyState == 4 ) {

        if (req.status == 200) {
				 xml = req.responseXML;
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req.statusText);
         }
    }
	}
	

	function processReqChange2() {

    if (req2.readyState == 4 ) {

        if (req2.status == 200) {
				 xsl = req2.responseXML;
				 document.getElementById('menu-right').innerHTML = xml.transformNode(xsl);
         } else {
            alert("There was a problem retrieving the XML data:\n" +
                req2.statusText);
         }
    }
	}


donc en fait je passe par des objets ActiveX ou XMLHTTPRequest.
ca buge ici : document.getElementById('menu-right').innerHTML = xml.transformNode(xsl);
Merci d'avance en tout cas
A voir également:

1 réponse

Utilisateur anonyme
29 mars 2006 à 15:00
A mon avis, tu dois fournir une URL complète à la place de 'transform.xsl' ci-dessous:

req2.open("GET", 'transform.xsl', true);


Il faudrait par exemple:
req2.open("GET", 'http://10.125.212.95:8080/stylesheets/xsl/transform.xsl', true);



;-)
HackTrack
1