2013-01-15 58 views
1

我是XML新手。我用這個XML嘗試:其他標記以XML格式提供,未在DTD中聲明

<?xml version="1.0"?> 
<!DOCTYPE person [ 
    <!ELEMENT first_name (#PCDATA)> 
    <!ELEMENT last_name (#PCDATA)> 
    <!ELEMENT profession (#PCDATA)> 
    <!ELEMENT name  (first_name, last_name)> 
    <!ELEMENT person  (name, profession*)> 
]> 
<person> 
    <name> 
    <first_name>Alan</first_name> 
    <last_name>Turing</last_name> 
    </name> 
    <profession>computer scientist</profession> 
    <profession>mathematician</profession> 
    <job>cryptographer</job> 
</person> 

我不是在瀏覽器中獲取錯誤,同時打開XML文件,由於標籤的非所有腦幹。 請幫我理解這一點。提前致謝。

+0

你究竟有什麼不明白的? XML中有「作業」,「doctype」之後的定義中沒有「作業」。我實際上不知道這些都是什麼,但我看到了錯誤;) – Dariusz

+0

好的,讓我們簡化一下 - 如果我已經錯誤地將標記鍵入爲,那麼這個XML應該給出錯誤,這不會像預期的那樣發生。 – apratik

回答

0

我用IE打開這個xml,沒有錯誤。然後使用w3validator進行驗證。得到了一個錯誤,兩次警告的:

警告:

--No字符編碼在文檔級別

宣佈--Using直接輸入模式:UTF-8字符編碼假定

錯誤:

--element「工作」未定義 譯電員 ✉ 您已經使用您的文檔上面指定的元素,但你AR文檔類型使用不定義該名稱的元素。此錯誤通常是由以下原因造成的:

錯誤地使用「Strict」文檔類型和使用框架的文檔(例如,您必須使用「Frameset」文檔類型獲取「」元素), 通過使用供應商專有擴展名如「」或「」(這通常是通過使用CSS來實現所需效果來修正的)。通過在XHTML中使用大寫標籤(在XHTML屬性和元素中必須全部爲小寫)來創建文本文件( )。