代码之家  ›  专栏  ›  技术社区  ›  nonopolarity

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

  •  17
  • nonopolarity  · 技术社区  · 14 年前

    如果有一个文件 data.xml ,以及 format.xsl (或者是 format.xml ?),即使用CSS转换XML数据并对其进行格式化,然后哪个浏览器可以显示它?应该打开哪个文件(这个 .xsl 或者 .xml ?)

    实际上,我在另一个示例中看到XSLT文件的第一行是 href="format.xsl" ,所以我认为XSLT文件已经是 .xsl文件 ? 那它怎么会链接到另一个呢 .xsl文件

    5 回复  |  直到 14 年前
        1
  •  22
  •   Andreas    3 年前

    有两个文件,一个是包含数据的.xml文件,另一个是包含用于转换的XSLT脚本的.xsl文件。截至2010年8月,所有主流浏览器都支持客户端XSLT转换。打开.xml文件,将使用关联的.xsl文件。通常脚本构建一个动态显示的html文档。转换也可以由服务器用PHP等实现。

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

    编辑:2021年4月18日:这个问题已经过去10年了,发生了很多事情。现在可以使用saxonjs在浏览器中运行xslt3.0了。有一个 Hello World 在Github上。

        2
  •  10
  •   Tim Jansen    14 年前

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

    Wikipedia's XSLT entry 有一个如何使用处理指令的例子。基本上,您只需要在XML文件的顶部添加这一行(在<?xml?>prolog),其中“example2.xsl”是指向XSLT文件的路径:

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

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

        3
  •  4
  •   arun    7 年前

    对我有效的解决办法是跑步 xsltproc 从命令行首先得到一个HTML,然后用浏览器打开HTML。命令如下:

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

    现在打开 test.html 使用浏览器。

        4
  •  1
  •   Rob    14 年前

    Firefox和internetexplorer(肯定是版本6或更高版本,也可能是更早的版本)可以很好地解析XML/XSL。实际上,您可以用Javascript编写客户端解析器,这两种浏览器都能很好地使用它。

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

        5
  •  0
  •   jakefreeberg    8 年前

    我相信在所有浏览器中都有部分支持。

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