Bonjour,
Pour afficher un fichier XML, sur une page web j'utilise un fichier XSL couplé au javascript ci-dessous.
Cela fonctionne nickel avec IE, safari et chrome, mais rien sur Firefox....
Le code est issu du site wc3school. Franchement, je ne sais pas d'où vient le pb...
si quelqu'un a une idée.
Pour afficher un fichier XML, sur une page web j'utilise un fichier XSL couplé au javascript ci-dessous.
Cela fonctionne nickel avec IE, safari et chrome, mais rien sur Firefox....
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send("");
return xhttp.responseXML;
}
// Fonction de rendu de la feuille de style XSL
function displayResult(sigle,valeur)
{
document.getElementById("content").innerHTML='';
xmlfile="res/test_SRFIL.xml";
xslfile="srfil.xsl";
// code for IE
if (window.ActiveXObject)
{
// Chargement de la feuille XSLT
var xslDoc = new ActiveXObject("Msxml2.FreeThreadedDOMDocument.4.0");
xslDoc.async = false;
xslDoc.load(xslfile);
//Chargement du document XML
var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
xmlDoc.async = false;
xmlDoc.load(xmlfile);
//Transformation
var xslt = new ActiveXObject("Msxml2.XSLTemplate.4.0");
xslt.stylesheet = xslDoc;
var xslProc;
xslProc = xslt.createProcessor();
xslProc.input = xmlDoc;
if ( sigle != "" && valeur != "")
{
xslProc.addParameter("filtresigle", sigle); //passage du paramètre "field"
xslProc.addParameter("filtrevalue", valeur); //passage du paramètre "order"
xslProc.addParameter("gofiltre", 1); //passage du paramètre "order"
}
else
{
xslProc.addParameter("gofiltre", 0); //passage du paramètre "order"
}
xslProc.transform();
//Affichage du résultat
document.getElementById("content").innerHTML=xslProc.output;
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument)
{
xml=loadXMLDoc(xmlfile);
xsl=loadXMLDoc(xslfile);
xsltProcessor=new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
// Si les données pour le filtrage sont fournies on transmet les paramètres
// au fichier xsl et on autorise le filtrage
if ( sigle != "" && valeur != "")
{
xsltProcessor.setParameter(null, "filtresigle", sigle);
xsltProcessor.setParameter(null, "filtrevalue", valeur);
xsltProcessor.setParameter(null, "gofiltre", 1);
}
// Sinon on désactive le filtrage
else
{
xsltProcessor.setParameter(null, "gofiltre", 0);
}
// Rendu de l'affichage
resultDocument = xsltProcessor.transformToFragment(xml,document);
// Affichage dans la page web
document.getElementById("content").appendChild(resultDocument);
}
}
Le code est issu du site wc3school. Franchement, je ne sais pas d'où vient le pb...
si quelqu'un a une idée.