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

如何将XML文件与XSLT文件连接起来?

  •  39
  • nonopolarity  · 技术社区  · 14 年前
    4 回复  |  直到 14 年前
        1
  •  67
  •   user414661    14 年前

    您可以在xml声明之后添加这个

    <?xml-stylesheet type="text/xsl" href="yourxsl.xsl"?>
    
        2
  •  6
  •   Jon Hanna    14 年前

    一个文件不知道如何“吸入数据”另一个文件,因为这些文件不会进行处理。

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

    (实际上,该类型应该是“text/xml”,因为这是XSL文档的mime类型,但这是在浏览器大战的尾声,浏览器特性实现的速度仍然常常快于常识)。

    如果您使用某种库以编程方式控制转换(有用于客户端javascript的对象和任何语言的库,您可能希望从中执行此操作),那么您就有足够的控制权来详细说明通过什么进行转换。这里有一些有趣的例子。

    1. 您甚至可以拥有一个包含内容节点和转换节点的文档,选择它们并运行转换。

    2. 如果您在多个XML文档上运行相同的转换,那么调用某种“PreCompile()”方法或类似方法通常会更有效,这会对该调用产生影响,从而使所有后续转换受益。

        3
  •  5
  •   Ido Weinstein    14 年前

    您还可以在html页面中进行转换:

    <script type="text/javascript">
      var xml = new ActiveXObject("Microsoft.XMLDOM")
      xml.async = false
      xml.load("some_xml.xml")
      var xsl = new ActiveXObject("Microsoft.XMLDOM")
      xsl.async = false
      xsl.load("some_xsl.xsl")
      document.write(xml.transformNode(xsl))
    </script>
    
        4
  •  2
  •   Justin    14 年前

    XslCompiledTransform 用于将Xslt转换应用于Xml片段(文件或内存中的Xml)的类。

    也可以使用Microsoft命令行工具 xslt.exe -你需要自己研究如何在其他编程语言/操作系统中做同样的事情。