如何编写将给定XSLT样式表应用于XML文件的书签,例如firefox? XML文档已经在浏览器中加载并且没有样式表显示,并且XSLT在固定URL下可用,该URL应该在书签中编码。
答案 0 :(得分:1)
以下是一个例子:
用于将XSLT样式表应用于XML文档的小书签 - 只需在atob中插入base64编码的xsl("") - 在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();
}());
答案 1 :(得分:0)
您可以添加脚本以在'javascript()'的括号内的书签中的xml上应用xslt。
以下是参考:http://www.w3schools.com/xsl/tryit.asp?filename=cdcatalog
首先,托管xslt和xml,以避免来自javascript的文件访问问题。
脚本中需要进行一些修改:
在上面的参考文献中,更新以下内容:
xml=loadXMLDoc("cdcatalog.xml");
xsl=loadXMLDoc("cdcatalog.xsl");
到
xml=loadXMLDoc(window.location.href.toString());
xsl=loadXMLDoc("http://<path>/<filename>.xsl");
根据xslt(xml/html/text)
中设置的输出将输出保存在文件中,或者只是将其显示在警告中以便复制和使用。
由于