外部解析的實體

XML 片段(也稱為外部解析實體的名稱) 可以儲存在單獨的檔案中。

與 XML 文件不同,XML 片段的限制性較小,因為幾個元素可以顯示為頂級元素,也可以顯示為文字節點。與 XML 文件一樣,外部解析的實體可以以 XML 宣告開頭,但此宣告不被視為其替換文字的一部分。

這是外部解析實體的示例:

<?xml version="1.0" encoding="UTF-8"?>
This is some text
<element/>
<element/>

然後可以在 DTD 中的 XML 文件中宣告外部解析的實體,並且它可以與實體引用一起使用,該實體引用具有與一般內部實體相同的語法:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY fragment SYSTEM "fragment.xml">
]>
<root>
    &fragment;
</root>

解析實體引用後,此文件等效於:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE root [
<!ENTITY fragment SYSTEM "fragment.xml">
]>
<root>
  This is some text
  <element/>
  <element/>
</root>

外部解析實體中的每個開放元素標記都必須具有相應的結束標記:不允許在多個實體上傳播單個元素,也不允許傳播標記。

需要驗證解析器來解析實體引用,並將其替換文字包含在文件中,如上所述。非驗證解析器可以跳過此,而是告訴消費應用程式存在對外部解析實體的未解析引用。