簡體   English   中英

嘗試將XML驗證為DTD-錯誤,提示未解析ENTITY

[英]Trying to Validate XML to DTD- error saying ENTITY is not unparsed

我試圖在使用Oxygen XML編輯器工具時針對DTD驗證XML文檔到我的代碼結尾時,E {XERCES} ENTITY“ myent”並沒有出現錯誤消息。

有誰知道此錯誤的含義,如果知道,該如何解決以使其運行,以便我可以驗證XML?

參數已關閉,其外觀示例如下所示。

   <authentication board="myent"/>

任何幫助將不勝感激!

Xerces錯誤基本上是在說ENTITY“ myent”未聲明為未解析的實體。

很有可能是這種情況(我猜是因為您沒有提供DTD),屬性board被聲明為ENTITY類型。 類型為ENTITY屬性必須與DTD中聲明的相應未解析實體的名稱匹配。

規范中的屬性類型ENTITY有效性約束:

ENTITY類型的值必須匹配Name產生,ENTITY類型的值必須匹配Name; 每個名稱必須與DTD中聲明的未解析實體的名稱匹配。

規范中未解析實體的定義:

未解析的實體是一種資源,其內容可以是文本,也可以不是文本,如果是文本,則可以不是XML。 每個未解析的實體都有一個關聯的符號,由名稱標識。 除了要求XML處理器使實體的標識符和符號可用於應用程序之外,XML對未解析的實體的內容沒有任何限制。

這是一個將board屬性聲明為ENTITY類型而沒有相應的未解析實體聲明的示例:

<!DOCTYPE authentication [
<!ELEMENT authentication EMPTY>
<!ATTLIST authentication
          board ENTITY #REQUIRED>
]>
<authentication board="myent"/>

上面的示例將生成錯誤(使用下面的第一個示例直接從oXygen復制):

E [Xerces] ENTITY "myent" is not unparsed.

如果我們添加實體聲明(和符號(NDATA)聲明;請參見spec ),則XML現在有效:

<!DOCTYPE authentication [
<!ELEMENT authentication EMPTY>
<!ATTLIST authentication
          board ENTITY #REQUIRED>
<!NOTATION bar SYSTEM "bar">
<!ENTITY myent SYSTEM "FOO" NDATA bar>    
]>
<authentication board="myent"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM