四、DTD语法
1、如何在XML引入DTD
详见《 菜鸟学Andriod(四):XML约束之DTD1》的末尾部分
2、DTD的语法
(1)元素
语法:<!ELEMENT 元素名称 (元素约束)>
元素约束:
存放类型:ANY/EMPTY ANY表示可以任意元素,EMPTY表示不能有元素
元素约束:子元素的列表,用小括号括起来
子元素之间可以用逗号进行分割,出现的顺序要符合子元素的顺序
子元素之间也可以用竖线| 分割,只能出现子元素的其中之一
#PCDATA表示可以出现标签体
+ 表示出现多个子元素
* 0次或多次
?0次或一次
(2)属性
<! ATTLIST 元素名
属性名 属性类型 属性约束
属性名2 属性类型 属性约束
‘....
>
属性类型
CDATA:表示属性的值是一个普通字符串
ENUMERATED:属性的值是一个枚举列表中的值
ID:表明属性的值是在整个文档中都是唯一的,属性的值只能是由字母组成,不能纯数字
ENTITY(实体)
<!ENTITY>,就是一段内容的引用,可以简化代码的引用
引用实体:XML中使用的实体就是引用实体
<! ENTITY 实体名称 ”实体内容“>
&实体名称;
参数实体:在DTD中引用的实体叫做参数实体
<! ENTITY % 实体名称 ”实体内容“>
%实体名称;
属性约束
#REQUIRED----------表示属性必须有
#IMPLIED ----------属性可用可无
#FIXED------------属性具有固定值,不
' 默认值'------------
例子:
<!ATTLIST 书
出版社 CDATA #REQUIRED
书号 ID #REQUIRED
种类 (工具|词典|生活|医疗)
网址 CDATA #FIXD "www.baidu.com"
>