版权声明:如需转载,请注明出处 https://blog.csdn.net/qq_36260974/article/details/89979986
XML
XML 约束_DTD属性定义
● 属性定义的格式
- 最常见的属性类型:CDATA,表示文本类型;
- 最常见的设置说明 1:#REQUIRED,表示属性是必须的。
- 最常见的设置说明 2:#IMPLIED,表示属性是可选的。
- 格式
Attribute List <!ATTLIST 元素名 属性名1 属性类型 设置说明 属性名2 属性类型 设置说明 ...>
<!ATTLIST student number CDATA #REQUIRED> <!--表示 student 元素的 number 为属性名,CDATA 文本类型,这个属性是必须的-->
● 属性类型
- CDATA:属性值为任意文本数据;
- Enumerated:属性值必须是枚举列表中的一个;
- ID:属性值必须是唯一的,并且属性值不能以数字开头;
● CDATA 属性类型
- CDATA,即 Character Data(字符数据)。表示属性的类型为字符类型!
<!ATTLIST student number CDATA #REQUIRED> <!--表示 student 元素的 number 属性是字符数据类型,并且是必须属性-->
● Enumerated 属性类型
- Enumerated 不是关键字,定义枚举类型的属性需要给出枚举列表。当属性值为枚举类型时,那么这个属性的取值必须是枚举列表中的一个值。
<!ATTLIST student sex (male | female) #IMPLIED> <!--表示 student 的 sex 属性取值必须是 male 或者是 female,并且这个属性是可选的-->
● ID 属性类型
- 一个元素最多只能有一个 ID 属性,ID 属性用来表示元素唯一性的唯一标识。ID 属性就相当与元素的身份证号,必须是唯一标识!
如果把 student 元素的 number 属性设定为 ID 类型,那么每个 student 元素的 number 属性值必须是唯一的,并且 ID 类型的属性值不能以数字开头。
注意:不能以数字开头。<!ATTLIST student number ID #REQUIRED> <!--表示 student 的 number 属性值是 ID 类型,这说明 student 元素的 number 属性值必须是唯一的,不能和其它 student 的 number 属性值相同-->
● 设置说明
- #REQUIRED:表示属性是必须的;
- #IMPLIED:表示属性是可选的,即这个属性可以不给出;
● 范例
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE students[
<!ELEMENT students (student)+>
<!ELEMENT student (name, age)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ATTLIST student stuno ID #REQUIRED>
<!ATTLIST student gender (男|女) #REQUIRED>
]>
<students>
<student gender="男" stuno="a_01">
<name></name>
<age></age>
</student>
<student gender="男" stuno="a_02">
<name></name>
<age></age>
</student>
</students>
如有错误,欢迎指正!