2013-03-27 38 views
1

我試圖複製在這個答案中給出的示例:外部系統實體在Chrome,IE或Netscape中不適用於我。我究竟做錯了什麼?

https://stackoverflow.com/a/5127928/356011

,說明使用外部實體包括XML文件的另一個XML文件片段。

doc.xml:

<?xml version="1.0" standalone="no" ?> 
<!DOCTYPE doc [ 
     <!ENTITY otherFile SYSTEM "otherFile.xml"> 
     ]> 
<doc> 
    <foo> 
     <bar>&otherFile;</bar> 
    </foo> 
</doc> 

otherFile.xml:

<baz>this is my content</baz> 

當我試圖通過在任何瀏覽器中打開doc.xml測試這個,我只是得到:

<doc> 
    <foo> 
     <bar/> 
    </foo> 
</doc> 

呈現。

它不應該渲染包含的文件嗎?

+1

我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2013-03-27 00:41:48

+1

我不認爲你做錯了什麼。我認爲瀏覽器故意不支持這一點。我並不完全理解推理,但HTML5規範討論XHTML解析的一句話提到「希望用戶代理以可互操作的方式處理實體,而不需要任何網絡訪問來處理外部子集」。 – Alohci 2013-03-27 01:30:45

回答

2

它不工作的原因是瀏覽器不完全支持XML。他們只支持它的限制,比如「沒有外部實體」。我不知道爲什麼。

相關問題