-
XSLT via javascript
Voici un code très efficace pour appliquer une feuille de style XSL à un fichier XML grâce au javascript. L'un des avantages d'utiliser le javascript pour cette opération et de récuperer votre fichier stylé dans une variable et ainsi de l'insérer directement dans un div.
Voici le code magique, il est testé et fonctionnel sur Firefox 2, opéra 9, IE7. Malheureusement Webkit (Safari et Chrome) n'ont pas d'objets équivalent pour permettre l'impémentation.
xsltLoad ('arbre.xml', 'menu.xsl', 'menu'); function xsltLoad(xml, xsl, id){ xsltDo(loadXML(xml), loadXML(xsl), id); } function loadXML(url){ var xmlDoc; //Gecko if (document.implementation && document.implementation.createDocument){ xmlDoc = document.implementation.createDocument('', '', null); xmlDoc.async=false; xmlDoc.load(url); } //Internet Explorer else if (window.ActiveXObject){ try { xmlDoc = new ActiveXObject('Msxml2.XMLDOM'); } catch (e) { xmlDoc = new ActiveXObject('Microsoft.XMLDOM'); } xmlDoc.async = false; xmlDoc.load(url); } return xmlDoc; } function xsltDo(_xml, _xsl, _id) { //Gecko if (window.XSLTProcessor){ var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(_xsl); var fragment = xsltProcessor.transformToFragment(_xml, document); var target = document.getElementById(_id); target.innerHTML = ''; target.appendChild(fragment); } //Internet Explorer else if (window.ActiveXObject){ var target = document.getElementById(_id); target.innerHTML = _xml.transformNode(_xsl); } }


