Comment écrire un bookmarklet qui applique une feuille de style XSLT donnée au fichier XML affiché, par exemple, firefox? Le document XML est déjà chargé dans le navigateur et affiché sans feuille de style, et le fichier XSLT est disponible sous une URL fixe qui doit être codée dans le bookmarklet.bookmarklet pour appliquer une feuille de style xslt à un fichier xml affiché
2
A
Répondre
1
Voici un exemple:
Un bookmarklet pour appliquer une feuille de style XSLT à un document XML - il suffit d'insérer les base64 xsl codées dans atob ("") - testé sur Firefox
javascript: (function() {
var parser = new DOMParser();
var ss = parser.parseFromString(atob(""), 'application/xml');
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(ss);
var newdoc = xsltProcessor.transformToDocument(content.document);
var myWindow = window.open("data:text/html," + encodeURIComponent(newdoc.documentElement.innerHTML), "_blank", "");
myWindow.focus();
}());
0
Vous pouvez ajouter le script pour appliquer xslt sur xml dans le signet entre parenthèses de 'javascript()'.
Voici la référence: http://www.w3schools.com/xsl/tryit.asp?filename=cdcatalog
Tout d'abord, l'hôte xslt et xml afin d'éviter tout problème d'accès des fichiers de javascript.
Il y a quelques modifications qui sont nécessaires dans le script:
dans la référence ci-dessus, mettez à jour les éléments suivants:
xml=loadXMLDoc("cdcatalog.xml"); xsl=loadXMLDoc("cdcatalog.xsl");
à
xml=loadXMLDoc(window.location.href.toString()); xsl=loadXMLDoc("http://<path>/<filename>.xsl");
Enregistrer la sortie dans un fichier selon le jeu de sortie dans votre
xslt(xml/html/text)
ou simplement l'afficher dans aler t pour copier et utiliser.
Merci
Est-ce le document XML lui-même rendu dans le navigateur fenêtre? Ou est-il déjà transformé par une feuille de style XSLT? Comment/où la feuille de style est-elle "donnée"? L'API Mozilla XSLT est documentée ici: https://developer.mozilla.org/en/using_the_mozilla_javascript_interface_to_xsl_transformations –
J'ai clarifié la question. –