在xml技術裡,可以編寫一個文檔來限制一個xml文檔的書寫規範,這稱之為xml限制
常見的xml限制:
dtd
schema
作為程式員隻要掌握兩點:
會閱讀
會引入
不用自己編寫
dtd(document type definition),文檔類型定義,用來限制xml文檔。規定xml文檔中元素的名稱,子元素的名稱及順序,元素的屬性等。
1 編寫dtd
開發中,我們不會自己編寫dtd限制文檔
通常情況我們都是通過架構提供的dtd限制文檔,編寫對應的xml文檔。常見架構使用dtd限制有: struts2、hibernate等。
建立限制檔案 student.dtd
2 引入dtd
<1>引入dtd文檔到xml文檔中,兩種方式
内部dtd:将限制規則定義在xml文檔中 (通常不這麼做)
外部dtd:将限制的規則定義在外部的dtd檔案中
1. 本地方式引入: <!doctype 根标簽名 system "dtd檔案的位置">
2. 網絡方式引入: <!doctype 根标簽名 public "dtd檔案名字" "dtd檔案的位置url">
<2> student.xml
1 什麼是schema
1. schema是新的xml文檔限制, 比dtd強大很多,是dtd 替代者;
2. schema本身也是xml文檔,但schema文檔的擴充名為xsd,而不是xml。
3. schema 功能更強大,内置多種簡單和複雜的資料類型
4. schema 支援命名空間 (一個xml中可以引入多個限制文檔)
2 schema限制示例
student.xsd
xml schema的根元素:
3 xml引入schema限制
xml中引入schema限制的步驟:
1) 檢視schema文檔,找到根元素,在xml中寫出來
2) 根元素來自哪個命名空間。使用xmlns指令來聲明
3) 引入 w3c的标準命名空間, 複制即可
4) 引入的命名空間,跟哪個xsd檔案對應?
使用schemalocation來指定:兩個取值:第一個為命名空間 第二個為xsd檔案的路徑
5) 命名空間
6) student.xml