哪个浏览器可以显示通过XSLT转换的XML数据?
问题的出现原因是因为某些浏览器不支持展示通过XSLT转换的XML数据。解决方法是使用支持该功能的浏览器。
许多浏览器都支持XML-stylesheet处理指令。如果将其包含在XML文件中,并使用浏览器打开此XML文件,浏览器将加载指定的XSLT,以XML文件为输入运行它,并显示XSLT的输出而不是原始的XML文档。具体规范可以在此处找到:http://www.w3.org/TR/xml-stylesheet/
维基百科的XSLT条目http://en.wikipedia.org/wiki/XSLT有一个如何使用处理指令的示例。基本上,您只需在XML文件的顶部(在前导之后)添加此行,其中'example2.xsl'是指向您的XSLT文件的路径:
<?xml-stylesheet href="example2.xsl" type="text/xsl" ?>
火狐和IE都应该支持这个功能(可能还有其他许多浏览器,但我从未尝试过 - 这个功能并不经常使用)。我刚试了一下当前的Safari和Chrome,它们都支持,尽管如果是本地文件,Chrome不会打开它。
如果XSL将XML转换为XHTML,如果将XHTML命名空间添加到XSL中,Chrome应该能够打开/转换本地文件。对于本地XML文件,我也不得不为FireFox做同样的事情。参见:stackoverflow.com/questions/2981524/…
这是因为安全性问题。如果互联网资源可以使用您的磁盘文件,那将是可怕的。
火狐不再打开XSLT,但会显示XML的内容。Chrome以及Edge不仅禁止XSLT,还不会显示XML的内容。IE现在基本上已经不再使用了。