- DTD文档定义
- DTD元素定义
- DTD属性定义
- DTD实体引用定义
- XML和DTD
文中大写是强制的,请务必遵守。
文档定义有两种:
- <!DOCTYPE root [ content ]>
- <!DOCTYPE root SYSTEM " path/filename.dtd " >
由前两种混合产生第三种定义方式: - <!DOCTYPE root SYSTEM " path/filename.dtd " [ content ] >
由于一些DTD存在互联网上,供大家使用,所以第二种定义方式产生了一种变体:
2'. <!DOCTYPE root PUBILC "dtd_name" " path/filename.dtd" >
文档元素定义:
<!ELEMENT name rule>
rule有四种形式:
- EMPTY 不能包含子元素和文本,但可以有属性。比如<img>标签
- ANY 包含任何在DTD中定义的元素内容
-
PCDATA 可包含任意数据,但不能包含子元素
- 其他类型,自由组合
插曲:修饰符(规则类似于正则)
1. ()分组
2. | 二选一
3. + 一次以上
4. * 0或多次
5. ? 0或1
6. , 顺序出现
文档属性定义:
<!ATTLIST element_name
attr_name attr_type attr_value
attr_name attr_type attr_value
常见type:
- CDATA (字符数据)
- (en1 | en2 | en3...)(枚举其中一个)
- ID 唯一
- ENTITY (一个实体)
四种value:
- 值 属性默认值
-
REQUIRED 必需的
-
IMPLIED 非必需
-
FIXED 固定的
DTD实体(两种):
- 引用实体定义---- <!ENTITY name "content">, 调用语法&name;
- 参数实体定义----<!ENTITY % name "content">,调用语法:%name;
XML和DTD的关系:
DTD是XML他爹,爹是有必要管着约束着儿子哪些该做、哪些不该做。
检测DTD概念掌握情况:使劲点
参考文章:DTD详解