XML 驗證
擁有正確語法的 XML 被稱為"形式良好"的 XML。
通過 DTD 驗證的XML是"合法"的 XML。
形式良好的 XML 文檔
"形式良好"的 XML 文檔擁有正確的語法。
在前面的章節描述的語法規則:
- XML 文檔必須有一個根元素
- XML元素都必須有一個關閉標籤
- XML 標籤對大小寫敏感
- XML 元素必須被正確的嵌套
- XML 屬性值必須加引號
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
驗證 XML 文檔
合法的 XML 文檔是"形式良好"的 XML 文檔,這也符合文檔類型定義(DTD)的規則:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
在上面的實例中,DOCTYPE 聲明是對外部 DTD 檔的引用。下麵的段落展示了這個檔的內容。
XML DTD
DTD 的目的是定義 XML 文檔的結構。它使用一系列合法的元素來定義文檔結構:
<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
如果您想要學習 DTD,請在我們的首頁查找 DTD 教學。
XML Schema
W3C 支持一種基於 XML 的 DTD 代替者,它名為 XML Schema:
<xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
如果您想要學習 XML Schema,請在我們的首頁查找 Schema 教學。
一個通用的 XML 驗證器
為了幫助您檢查 XML 檔的語法,我們創建了 XML 驗證器,以便您對任何 XML 檔進行語法檢查。
請看下一章。