使用dtd--属性声明
<!ATTLIST 元素名 属性名称 属性类型 属性特点>
1.属性类型
类型 | 含义 |
CDATA | 纯文本 |
enumerated | 枚举类型 |
ID | 以属性的方式唯一标识改元素,必须以字母开头 |
IDREF |
属性值引用已定义的id值,复数形式可以应用多个id, 以空格隔开 |
IDREFS | |
entity | 取值为一个已定义的实体 |
entities | 可以包含多个实体,中间用空格隔开 |
nmtoken | 属性值只能为字母,数字,下划线 , '.' , ':' , '-' 组成 |
nmtokens | 可以右多个nmtoken组成,中间用空格隔开 |
notation |
(1)CDATA
e.g
<!ATTLIST 木偶
姓名 CDATA #REQUIRED
年龄 CDATA #REQUIRED
> <木偶 姓名="pi Nuocao" 年龄="12">
(2) ID类型
<!ATTLIST student number ID #REQUIRED name CDATA #REQUIRED > <student number="a001" name="张三" />
(3)IDREF,IDREFS
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE family[ <!ELEMENT family (person+)> <!ELEMENT person EMPTY> <!ATTLIST person relId ID #REQUIRED parenetId IDREFS #IMPLIED name CDATA #REQUIRED > ] > <family> <person redId="p1" name="爸爸" /> <person redId="p2" name="妈妈" /> <person redId="p3" parenetId="p1 p2" name="儿子" /> </family>
(4)enumerated枚举类型
<!ATTLIST person gender (男|女) #REQUIRED>
2.属性特点
名称 | 定义 | 说明方式 |
#REQUIRED | 必须 | .. |
#IMPLIED | 可选 | .. |
#FIXED value | 固定 | <!ATTLIST person classId CDATA #FIXED "软件一班"> |
default value | 默认值 | <!ATTLIST person classId CDATA "软件一班"> |