XML(7)_XML 约束_DTD属性定义

版权声明:如需转载,请注明出处 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>

如有错误,欢迎指正!

猜你喜欢

转载自blog.csdn.net/qq_36260974/article/details/89979986