Bonjour,
Je tente de programmer une fonction qui recherche dans un fichier XML les données propres à l'image affichée dans une galerie via XMLHttprequest et ActiveX. J'ai essayé de multiples variantes, toutes fonctionnent sous Firefox
Avez-vous une idée de la raison qui empêche IE d'appliquer ma transformation ?
PS je déplacerais volontiers le message dans le forum Ajax mais je sais comment le faire après validation.
Modifié par deca05 (11 Aug 2009 - 11:14)
Je tente de programmer une fonction qui recherche dans un fichier XML les données propres à l'image affichée dans une galerie via XMLHttprequest et ActiveX. J'ai essayé de multiples variantes, toutes fonctionnent sous Firefox
Avez-vous une idée de la raison qui empêche IE d'appliquer ma transformation ?
PS je déplacerais volontiers le message dans le forum Ajax mais je sais comment le faire après validation.
function request01(photo) {
var xml = "galerie.xml";
var xsl = "galerie.xsl";
var target = document.getElementById("metadata");
try {
if (window.XSLTProcessor && window.XMLHttpRequest)
{
var xmlDoc;
var xslStylesheet;
var xsltProcessor = new XSLTProcessor();
// load the xslt file, galerie.xsl
var myXMLHTTPRequest = new XMLHttpRequest();
myXMLHTTPRequest.open("GET", xsl, false);
myXMLHTTPRequest.send(null);
xslStylesheet = myXMLHTTPRequest.responseXML;
xsltProcessor.importStylesheet(xslStylesheet);
// Afficher les informations de l'image appelee dans le parametre de la fonction request
xsltProcessor.setParameter(null,"nomImage",photo);
// load the xml file, galerie.xml
myXMLHTTPRequest = new XMLHttpRequest();
myXMLHTTPRequest.open("GET", xml, false);
myXMLHTTPRequest.send(null);
xmlDoc = myXMLHTTPRequest.responseXML;
var doc = xsltProcessor.transformToDocument(xmlDoc);
var xmls = new XMLSerializer();
target.innerHTML = xmls.serializeToString(doc);
// ActiveX pour Internet Explorer
} else if (window.ActiveXObject) {
var xmlDoc = null;
var xslDoc = null;
var xslStylesheet = null;
var xsltProcessor = null;
try {
xmlDoc = new ActiveXObject("MSXML2.DOMDocument") ;
} catch (e) {
xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
}
try {
xslDoc = new ActiveXObject("MSXML2.FreeThreadedDOMDocument") ;
} catch (e) {
xslDoc = new ActiveXObject('Microsoft.XMLDOM');
}
xmlDoc.async = false;
xmlDoc.load(xml);
xslDoc.async = false;
xslDoc.load(xsl);
//Transformation
var xslStylesheet = new ActiveXObject("MSXML2.XSLTemplate");
xslStylesheet.stylesheet = xslDoc;
xsltProcessor = xslStylesheet.createProcessor();
xsltProcessor.input = xmlDoc;
xsltProcessor.addParameter("nomImage",photo);
xsltProcessor.transform();
// xsltProcessor.output est vide !
//alert("resultat : "+xsltProcessor.output);
target.innerHTML = "Les métadonnées ne sont pas affichées sous Internet Explorer !";//xsltProcessor.output;
}
} catch (e) {
return e;
}
}
Modifié par deca05 (11 Aug 2009 - 11:14)