【问题标题】:XML XInclude does not display correctly?XML XInclude 显示不正确?
【发布时间】:2012-03-07 10:57:46
【问题描述】:

我正在测试 XML.XInclude 遵循其结构指南:

http://www.w3.org/2001/XInclude.xsd

我有一个 child1.xml 文件:

<?xml version="1.0"?>
<child1>
  <config>
  </config>
</child1>

child2.xml 文件:

<?xml version="1.0"?>
<child2>
  <config>
  </config>
</child2>

和 parent.xml 文件:

<?xml version="1.0"?>
<config xmlns:xi="http://www.w3.org/2001/XInclude">
    <xi:include parse="xml" href="child1.xml"/>
    <xi:include parse="xml" href="child2.xml"/>
</config>

但是,当我在 Internet Explorer 中打开 parent.xml 时,child1.xml 和 child2.xml 没有合并到 parent.xml 中。我希望 child1.xml 和 child2.xml 的内容显示在 parent.xml 中,但事实并非如此。我只是在 parent.xml 中看到这个:

<?xml version="1.0" ?> 
- <config xmlns:xi="http://www.w3.org/2001/XInclude">
  <xi:include parse="xml" href="child1.xml" /> 
  <xi:include parse="xml" href="child2.xml" /> 
  </config>

是我做错了什么还是使用 XInclude 不会显示包含文件?

提前致谢。

【问题讨论】:

    标签: xml xinclude


    【解决方案1】:

    Internet Explorer 不支持 XInclude。我能想到的任何其他浏览器也没有。您需要使用 XInclude 处理器。例如。如果你将它的 parent.xml 加载到 PHP DOMDocument 中,那么你可以调用它的 xinclude() 方法,它会处理包含。

    【讨论】:

    • 有没有可视化 XInclude 的工具?提前致谢。
    • @devn 毫无疑问有,但我不知道。我已经很久没有玩过 XInclude 了。当规范是一个工作草案时,我进行了一些试验,发现在大多数情况下推出自己的实现相对容易(我正在玩,所以我不在乎捕捉每个边缘情况)。
    • 有一个 .NET 的 XInclude 库 - mvpxml.codeplex.com/…,但它似乎不支持本地相对路径,所以我认为我需要使用他们网页上提到的 XmlResolver。我正在努力为我的 XmlTransform 实用程序 (zoomicon.com/tranXform) 添加对 XInclude 的支持,因为我的项目需要它
    • 另外,我想知道是否可以使用 Behaviors 在 IE 中实现 XInclude,其方式类似于 CSS3 PIE 如何使用它们来添加对 CSS3 的支持(css3pie.com/documentation/supported-css3-features - 请参阅他们拥有的 .htc 文件示例)
    猜你喜欢
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2018-06-11
    相关资源
    最近更新 更多