Cmd javascript pr ouvrir XML + XSL
Résolu/Fermé
clint_889
Messages postés
10
Date d'inscription
jeudi 8 juillet 2010
Statut
Membre
Dernière intervention
19 octobre 2010
-
8 juil. 2010 à 17:05
uNreaL - 2 mai 2011 à 11:35
uNreaL - 2 mai 2011 à 11:35
A voir également:
- Cmd javascript pr ouvrir XML + XSL
- Cmd - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir fichier .bin - Guide
- Xml download - Télécharger - Édition & Programmation
- Comment ouvrir un fichier docx ? - Guide
1 réponse
clint_889
Messages postés
10
Date d'inscription
jeudi 8 juillet 2010
Statut
Membre
Dernière intervention
19 octobre 2010
3
Modifié par clint_889 le 21/10/2010 à 10:37
Modifié par clint_889 le 21/10/2010 à 10:37
le pb n'était pas posé bien clairement ! Bref, voici ce que j'ai réussi à faire :
avec ces deux fonctions javascript (utilisation de ActiveX, donc fonctionne uniquement sur IE) :
<html> <head> <script> var xml = top.frames["Haut"].ChemXML; </script> </head> <body onload="transform(loadXML(xml), loadXML('03_Mesures.xsl'), 'transform')"> <div id="transform"> <!-- c'est ici que ce fait la transformation --> </div> </body> </html>
avec ces deux fonctions javascript (utilisation de ActiveX, donc fonctionne uniquement sur IE) :
//**************************************************************** //Ces deux fonctions associées permettent d'afficher une page HTML //en choisissant les fichiers XML et XSL que l'on souhait afficher //**************************************************************** function loadXML(url) { var xmlDoc; /* chargement du fichier XML */ try { // navigateur basé sur Gecko if (document.implementation && document.implementation.createDocument) { xmlDoc = document.implementation.createDocument('', '', null); xmlDoc.load(url); // ActiveX pour 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); // à l'aide de lobjet XMLHTTPRequest } else if (window.XMLHttpRequest) { xmlDoc = new XMLHttpRequest(); xmlDoc.overrideMimeType('text/xml'); xmlDoc.open('GET', url, false); xmlDoc.send(null); if (this.xmlDoc.readyState == 4) xmlDoc = xmlDoc.responseXML; } } catch (e) { return e; } return xmlDoc; } function transform(xml, xsl, id) { try { // navigateur basé sur Gecko if (window.XSLTProcessor) { var fragment; var xsltProcessor = new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); fragment = xsltProcessor.transformToFragment(xml, document); var target = document.getElementById(id); target.appendChild(fragment); document.appendChild(target); // ActiveX pour Internet Explorer } else if (window.ActiveXObject) { var target = document.getElementById(id); target.innerHTML = xml.transformNode(xsl); } } catch (e) { return e; } }
2 mai 2011 à 11:35