xmlStudy2-DTD
1.DTD内部DTD
<!DOCTYPE 联系人列表[
<!ELEMENT 联系人列表 (联系人)*>
<!ELEMENT 联系人 (姓名,地址)>
<!ELEMENT 地址 (街道,城市,省份)>
<!ELEMENT 姓名 (#PCDATA)>
<!ELEMENT 街道 (#PCDATA)>
<!ELEMENT 城市 (#PCDATA)>
<!ELEMENT 省份 (#PCDATA)>
]>
外部DTD
standalone=“no”
<!DOCTYPE 根元素名 SYSTEM "外部DTD文件的URL">
公用DTD
<!DOCTYPE 根元素 PUBLIC "DTD名称" "外部DTD的URL">
DTD名称只能包含字母、数字、空格和下面的符号:_%$#@()+:=/!*;?。同时,DTD名称还必须符合一些标准的规定。例如,ISO标准的DTD以“ISO”三个字母开头;被改进的非ISO标准的DTD以加号“+”开头;未被改进的非ISO标准的DTD以减号“-”开头。
2. <!ELEMENT 联系人(姓名,(电话|EMAIL))>
|表示二者只能且必须取一
在一个组中,只允许使用一种连接符(例如“,”或“|”)。因此把电话和EMAIL组成一组的括号必不可少
3. 定义空标记 <!ELEMENT HR EMPTY>
4. 元 字 符 含 义
+ 出现一次或多次
* 出现零次或多次
? 可选,不出现或出现一次
() 一组要共同匹配的表达式
| OR,或
, AND,要求严格遵从顺序要求
元素A
元素B
元素C 元素列表,无须遵从顺序
5.
属性值可有可无的属性
必须赋值的属性
固定取值的属性
定义缺省值的属性
<!ATTLIST 页面作者
年龄 CDATA #IMPLIED
联系信息 CDATA #REQUIRED
网站职务 CDATA #FIXED "页面作者"
个人爱好 CDATA "上网">
6. 属性类型
CDATA
Enumerated
ID
IDREF
IDREFS
ENTITY
ENTITIES
NMTOKEN
NMTOKENS
NOTATION
关键字ENUMERATED是不出现在DTD定义中的
枚举属性定义方法:<!ATTLIST 肉 类型 ( 鸡肉 | 牛肉 | 猪肉 | 鱼肉 ) "鸡肉">
<!NOTATION 记号名 SYSTEM "MIME类型"> or <!NOTATION 记号名 SYSTEM "URL路径名">
页:
[1]