一 什么是schema (模式)
1 XML Schema 的作用是定義 XML 文檔的合法構建模塊,類似 DTD。XML Schema 是基於 XML 的 DTD 替代者。XML Schema 描述 XML 文檔的結構。XML Schema 語言也稱作 XML Schema 定義(XML Schema Definition,XSD)。
2 XML Schema:定義可出現在文檔中的元素定義可出現在文檔中的屬性,定義哪個元素是子元素,定義子元素的次序,定義子元素的數目定義元素是否為空,或者是否可包含文本,
定義元素和屬性的數據類型,定義元素和屬性的默認值以及固定值
3 xml schema的優勢
XML Schema 可針對未來的需求進行擴展,XML Schema 更完善,功能更強大,XML Schema 基於 XML 編寫,,XML Schema 支持數據類型,XML Schema 支持命名空間
4 XML Schema 是 W3C 標准。
二 ,DTD 與 XML Schema 引用的異同
DTD
<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "http://www.w3school.com.cn/dtd/note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
XML Schema
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3school.com.cn" xmlns="http://www.w3school.com.cn" elementFormDefault="qualified"> ... ... </xs:schema>
xmlns:xs="http://www.w3.org/2001/XMLSchema"的含義
顯示 schema 中用到的元素和數據類型來自命名空間 "http://www.w3.org/2001/XMLSchema"。同時它還規定了來自命名空間 "http://www.w3.org/2001/XMLSchema" 的元素和數據類型應該使用前綴 xs:
targetNamespace="http://www.w3school.com.cn" 顯示被此 schema 定義的元素 來自命名空間: "http://www.w3school.com.cn"。
elementFormDefault="qualified" 指出任何 XML 實例文檔所使用的且在此 schema 中聲明過的元素必須被命名空間限定。