哪个浏览器可以显示由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数据?的主要内容,如果未能解决你的问题,请参考以下文章