ekumen 发表于 2013-2-4 19:19:20

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]
查看完整版本: xmlStudy2-DTD