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
Bonjour,
Je cale sur un problème :
J'ai toutes une série de fichiers XML dans un même dossier. Dans une page HTML, par le biai d'une textbox je selectionne le fichier XML que je souhaite ouvrir.
D'un autre coté j'ai trois fichiers XSL que je voudrais associer tour à tour au fichier XML séléctionné. Le choix du fichier XSL se ferait par un menu.
J'aimerai savoir si il est possible d'ecrire une commande javascript dans une page HTML me permettant d'ouvrir, d'afficher ou de charger mon fichier XML avec tel ou tel fichier XSL.
Si qqun a une astuce, je suis preneur !! (un newbee à bout ;-) )
Je cale sur un problème :
J'ai toutes une série de fichiers XML dans un même dossier. Dans une page HTML, par le biai d'une textbox je selectionne le fichier XML que je souhaite ouvrir.
D'un autre coté j'ai trois fichiers XSL que je voudrais associer tour à tour au fichier XML séléctionné. Le choix du fichier XSL se ferait par un menu.
J'aimerai savoir si il est possible d'ecrire une commande javascript dans une page HTML me permettant d'ouvrir, d'afficher ou de charger mon fichier XML avec tel ou tel fichier XSL.
Si qqun a une astuce, je suis preneur !! (un newbee à bout ;-) )
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