哪个浏览器可以显示由XSLT转换的XML数据?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了哪个浏览器可以显示由XSLT转换的XML数据?相关的知识,希望对你有一定的参考价值。

比方说,如果有一个文件调用data.xml,文件是format.xsl(或者是format.xml?),那就是转换XML数据并使用CSS格式化它,那么哪个浏览器可以显示它?应该打开哪个文件? (.xsl.xml?)

实际上我在另一个例子中看到XSLT文件的第一行是href="format.xsl",所以我认为XSLT文件已经是.xsl了?那怎么会链接到另一个.xsl文件?有多少个文件,2个或3个?

答案

有两个文件,一个.xml包含数据,一个.xsl包含用于转换的XSLT脚本。截至2010年8月,所有领先的浏览器都支持客户端XSLT转换。打开.xml文件,将使用关联的.xsl文件。通常,该脚本会构建一个即时显示的html文档。转换也可以由服务器用php等完成。 要关联XSLT脚本,.xml文件需要如下所示的行:

<?xml-stylesheet type="text/xsl" href="script.xsl" ?>
另一答案

许多浏览器都支持XML样式表处理指令。如果它包含在XML文件中并且您使用浏览器打开此XML,则浏览器将加载指定的XSLT,使用XML文件作为输入运行它,并显示XSLT的输出而不是原始XML文档。规范可以在这里找到:http://www.w3.org/TR/xml-stylesheet/

Wikipedia's XSLT entry有一个如何使用处理指令的例子。基本上你只需要在XML文件的顶部添加这一行(在prolog之后),'example2.xsl'是你的XSLT文件的路径:

<?xml-stylesheet href="example2.xsl" type="text/xsl" ?>

Firefox和IE都应该支持这个(可能还有很多其他浏览器,但我从来没有尝试过 - 这个功能经常不用)。

另一答案

Firefox和Internet Explorer(绝对是版本6及更高版本,也可能是早期版本)可以很好地解析XML / XSL。您实际上可以在javascript中编写客户端解析器,这两种浏览器都可以很好地工作。

您可能希望确保不使用任何特定于供应商的部分,这可能会破坏兼容性(例如<msxsl:script>)。这可能适用于其他解析器(例如node-set()函数,它在MSXML所有解析器之间是不同的)。

在您的XSL文件中,您可以包含另一个XSL文件。或更多XSL文件。这样,您可以在另一个XSL文件中重用模板。

另一答案

在Mac上,我尝试使用Chrome和Safari打开XML文件,但都没有显示任何内容。

对我有用的解决方案是从命令行运行xsltproc,首先获取HTML,然后使用浏览器打开HTML。这是命令:

xsltproc <XSL file> <XML file> > test.html

现在用浏览器打开test.html

另一答案

我相信所有浏览器都支持支持。

以下是一些图表:http://greenbytes.de/tech/tc/xslt/

以上是关于哪个浏览器可以显示由XSLT转换的XML数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 转换 XML 和 XSLT?

XSLT 转换输出仅显示第一页并且图形被截断

XSLT学习通过JavaScript转化xml

XSLT - 动态添加元素

xslt基础学习

当属性名称包含特殊字符时,使用 xslt 转换 xml 结果后,输出未以 HTML 格式显示