DTD: document type definition
用于xml约束
元素约束语法:
<!ELEMENT 元素名 元素描述>
<!ELEMENT name(#PCDATA)> 表示定义名为那么的元素内容为文本类型,P:parse c:character
<!ELEMENT student(name*, age+,sex?)> 表示定义名为student元素,内容依次为name、age、sex元素,其中name出现的次数为0或多个。age至少出现一次,sex出现一次或一次不出现
<!ELEMENT student ANY> 定义名为student元素,内容任意;
<!ElEMENT student EMPTY> 定义名为student元素,不能有内容,即空元素,但是可以有属性。<student/>
属性约束语法:
<!ATTLIST 元素名 属性名 属性类型 设置说明>
eg:
文本类型:
<!ATTLIST student numner CDATA #REQUIRED>
表示给student元素定义属性number类型为文本,这个默认是必须的
枚举类型:
<!ATTLIST student sex(male|famale) "male">
表示给student元素定义属性sex类型为枚举类型,值有male和famale,其中默认值为male。
id类型:
id类型的属性用来标识元素的唯一性,即元素的ID属性值不能与其他元素的ID属性值相同。
<!ATTLIST student number ID #REQUIRED>
IDREF:
ID引用类型,用来指定另一个元素,与另一个元素建立关联,IDREF类型的属性值必须是另一个元素的ID
<!ATTLIST student friend IDREF #IMPLIED>
xml中引入外部本地dtd文件方式:
<!DOCTYPE 根元素名称 SYSTEM "dtd文件路径">
xml中引入外部网络DTD文件方式:
<!DOCTYPE 根元素名称 PUBLIC"描述信息例如:版本作者语言等等" "网络上DTD的路径">