2012-03-07 115 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