calimo a écrit :Avec si peu de code, pas vraiment, mais si tu avais posté dans la rubrique "développement web" tu aurais évité de voir ton message perdu dans les abysses de cette rubrique avant que quelqu'un de compétent ne passe

Oui je me suis emmêlé les pinceaux lors du post...
Voici quelques explications...
J'ai deux classes
xmlParser chargement et parcours de fichier xml mais dans le cas présent je n'utilise que la fonction de chargement...
Code : Tout sélectionner
function loadXML(url)
{
/* chargement du fichier XML */
try {
// navigateur basé sur Gecko
if (document.implementation && document.implementation.createDocument)
{
this.xmlDoc = document.implementation.createDocument('', 'doc', null);
this.xmlDoc.load(url);
// ActiveX pour Internet Explorer
} else if (window.ActiveXObject) {
try {
this.xmlDoc = new ActiveXObject('Msxml2.XMLDOM');
} catch (e) {
this.xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
}
this.xmlDoc.async = false;
this.xmlDoc.load(url);
// à l'aide de lobjet XMLHTTPRequest
} else if (window.XMLHttpRequest) {
this.xmlDoc = new XMLHttpRequest();
this.xmlDoc.overrideMimeType('text/xml');
this.xmlDoc.open('GET', url, false);
this.xmlDoc.send(null);
if (this.xmlDoc.readyState == 4)
this.xmlDoc = this.xmlDoc.responseXML.documentElement;
}
} catch (e) {
alert(e);
return false;
}
return true;
}
Et ensuite une classe
xmlManager qui traite les fichiers xml dans le cas présent, je n'utilise que la fonction
transform(xml, xsl, id)...
Code : Tout sélectionner
function transform(xml, xsl, id)
{
xml = xml.xmlDoc;
xsl = xsl.xmlDoc;
try {
// Gecko
if (window.XSLTProcessor)
{
var fragment;
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl);
fragment = xsltProcessor.transformToFragment(xml, document);
var tmp = document.getElementById(id);
tmp.innerHTML = fragment;
} else if (window.ActiveXObject) {
var target = document.getElementById(id);
target.innerHTML = xml.transformNode(xsl);
}
} catch (e) {
return e;
}
}
j'appelle ces fonctions après avoir contruit les objet respectifs avec:
Code : Tout sélectionner
xml.loadXML('./news.xml');
xsl.loadXML('./news.xml');
news.transform(xml, xsl, 'news');
Dernière modification par
Spack le 27 janv. 2006, 16:31, modifié 1 fois.