2012-03-07 113 views
0

我下面的结构指南测试XML.XInclude: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不会显示包含文件?

在此先感谢。

回答

0

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

+0

是否有任何可视化XInclude的工具?提前致谢。 – olidev 2012-03-07 11:58:25

+0

@devn毫无疑问,但我不知道任何。我还没有玩过XInclude的年龄。我在规范是一个工作草案时做了一些尝试,发现在大多数情况下自己实现的方式比较容易(我正在玩,所以我不在意抓住每一个边缘案例)。 – 2012-03-21 11:12:44

+0

有一个用于.NET的XInclude库 - https://mvpxml.codeplex.com/wikipage?title=XInclude.NET&referringTitle=Home,但它似乎不支持本地相对路径,所以我认为我需要使用在他们的网页中提到的XmlResolver。我正在努力将XInclude的支持添加到我的XmlTransform实用程序(http://zoomicon.com/tranXform)中,因为我还需要一个项目 – 2014-09-26 13:10:26