DTD定义
DTD修饰元素
() 用来给元素分组。(古龙|金庸|梁羽生),(王朔|余杰),(毛毛)
| 在列出的对象中选择一个。如(男人|女人)
+ 该对象最少出现一次,可以出现多次。如(成员+)
* 该对象允许出现零次到任意多次。如(爱好*)
? 该对象可以出现,但只能出现一次。如(菜鸟?)
, 对象必须按指定的顺序出现。 如 (西瓜,苹果,香蕉),表示西瓜,苹果,香蕉必须出现,而且还得按照这个顺序出现
属性的定义
<!ATTLIST 元素名称 属性名称 类型 属性特点>
类型: CDATA 、ID 、IDREF/IDREFS 、NMTOKEN/NMTOKENS 、Enumerated 、
ENTITY/ENTITIES 、NOTATION 、NOTATIONS
属性特点:#REQUIRED #IMPLIED #FIXED value Default value
CDATA是用来定义属性的,而PCDATA是用来定义元素的
NMTOKEN是CDATA的一个子集,表示属性必须是英文字母、数字、句号、破折号、下划线或冒号,属性值不能含有空格
NMTOKENS与NMTOKEN类似,包含多个由空格分隔的字符。
REQUIRED 表示属性的取值必须是唯一的
IDREF属性的值指向文档中其它地方声明的ID类型的值
IDREFS同IDREF,但是可以具有由空格分开的多个引用
例如:
Enumerated 枚举类型
例如:<!ATTLIST person 婚姻状态(single|married|divorced|widowed) #IMPLIED>
<!ATTLIST person 性别(男|女) #REQUIRED>