букмарклет для применения таблицы стилей xslt к отображаемому XML-файлу - PullRequest
2 голосов
/ 04 ноября 2010

Как мне написать букмарклет, который применяет данную таблицу стилей XSLT к XML-файлу, который отображается, например, в Firefox? Документ XML уже загружен в браузер и отображается без таблицы стилей, а XSLT доступен по фиксированному URL-адресу, который должен быть закодирован в букмарклет.

Ответы [ 2 ]

1 голос
/ 05 февраля 2017

Вот пример:

Букмарклет для применения таблицы стилей XSLT к документу XML - просто вставьте кодированный в base64 xsl в atob ("") - протестировано на 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();
}());

ref: https://gist.github.com/gosub/c7576b0c99ffdd7e993c

0 голосов
/ 11 декабря 2013

Вы можете добавить скрипт для применения xslt к xml в закладке в скобках от javascript ().

Вот ссылка: http://www.w3schools.com/xsl/tryit.asp?filename=cdcatalog

Во-первых, разместите xsltи xml, чтобы избежать проблем с доступом к файлам из javascript.

В сценарии необходимо внести некоторые изменения:

  1. В приведенной выше ссылке обновитеследующее:

        xml=loadXMLDoc("cdcatalog.xml");
        xsl=loadXMLDoc("cdcatalog.xsl");
    

    до

        xml=loadXMLDoc(window.location.href.toString());
        xsl=loadXMLDoc("http://<path>/<filename>.xsl");
    
  2. Сохраните выходные данные в файл согласно выходным данным, установленным в xslt(xml/html/text), или просто отобразите их в предупреждении длякопирование и использование.

Спасибо

...