1.什麼是XML約束
在xml技術裏,可以編寫一個文檔來約束一個XML文檔的書寫規範,這稱之爲XML約束
2.爲什麼需要XM約束
3.常用的約束技術
.XML DTD
.XML Schema
一、引用DTD約束
XML文件使用DOCTYPE聲明語句來指明它所遵循的DTD文件,DOCTYPE聲明語句有兩種形式:
.當引用的文件在本地時,採用如下方式
<!DOCTYPE 文檔根節點 SYSTEM “DTD文件的URL”>
eg.<!DOCTYPE 書架 SYSTEM “book.dtd”>
.當引用的文件是一個公共的文件時,採用如下方式:
<!DOCTYPE 文檔根節點 PUBLIC “DTD名稱” "DTD文件的URL">
eg.<!DOCTYPE web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”
"http://java.sun.com/dtd/web-app_2_3.dtd">
二、DTD約束語法細節
1.元素定義
使用ELEMENT聲明一個XML元素
語法格式:<!ELEMENT 元素名稱 元素類型>
2.屬性定義
通過ATTLIST爲其設置屬性
語法格式:
<!ATTLIST 元素名
屬性名1 屬性值類型 設置說明
屬性名2 屬性值類型 設置說明
...........
>
eg.屬性聲明
<!ATTLIST 商品
類別 CREQU CDATA #REQUIRED
顏色 CDATA #IMPLIED>
#REQUIRED:必須設置該屬性
常用的屬性值類型
.CDATA:表示屬性值爲普通文本字符串
.ENUMERATED
.ID
表示屬性的設置值爲唯一值
ID屬性的值只能由字母,下劃線開始,不能出現空白字符
.ENTITY(實體)
3.實體定義
用於爲一段內容創建一個別名,以後在XML文檔中就可以使用別名引用這段內容
在DTD定義中,一條<!ENTITY ...>語句用於定義一個實體
實體可以分爲兩種類型:引用實體和參數實體
實體定義——>引用實體
引用實體主要在XML文檔中使用
語法格式:
<!ENTITY 實體名稱 “實體內容”>
引用方式:&實體名稱;
eg.<!ENTITY copyright “I am a programmer”>
.....
©right ;
實體定義——>參數實體
參數實體被DTD文件自身使用
語法格式:
<!ENTITY % 實體名稱 "實體內容">
引用方式:
%實體名稱;
eg.
<!ENTITY % TAG_NAMES “姓名|EMALL|電話|地址”>
<!ELEMENT 個人信息(%TAG_NAMES ;|生日)>
<!ELEMENT 客戶信息(%TAG_NAMES ;|公司名)>