DTD验证XML文档

1、什么是DTD

DTD验证XML文档_第1张图片

2、DTD的重要性

DTD验证XML文档_第2张图片

3、分类

DTD验证XML文档_第3张图片

4、元素的定义

DTD验证XML文档_第4张图片

DTD验证XML文档_第5张图片

DTD验证XML文档_第6张图片

5、纯元素

 DTD验证XML文档_第7张图片

DTD验证XML文档_第8张图片

6、内部DTD样例

<?xml version="1.0" encoding="UTF-8"?>
<!--
类型:最多出现1次
主演:至少是1个人
-->
<!DOCTYPE CCTV-6 [
 <!ELEMENT CCTV-6 (电影+)>
 <!ELEMENT 电影 (名称,主演+,类型?,片长)>
 <!ELEMENT 名称 (#PCDATA)>
 <!ELEMENT 主演 (#PCDATA)>
 <!ELEMENT 类型 (#PCDATA)>
 <!ELEMENT 片长 (#PCDATA)>
]>
<CCTV-6>
 <电影>
  <名称>霍元甲</名称>
  <主演>李连杰</主演>
  <类型>动作</类型>
  <片长>1时35分</片长>
 </电影>
 <电影>
  <名称>宝贝计划</名称>
  <主演>成龙</主演>
  <主演>古天乐</主演>
  <片长>1时40分</片长>
 </电影>
</CCTV-6>

 7、定义属性

DTD验证XML文档_第9张图片

8、CDATA

DTD验证XML文档_第10张图片

9、ID

DTD验证XML文档_第11张图片

10、IDREF/IDREFS

DTD验证XML文档_第12张图片

11、Enumerated

DTD验证XML文档_第13张图片

12、#REQUIRED

DTD验证XML文档_第14张图片

13、#IMPLIED

DTD验证XML文档_第15张图片

14、#FIXED

DTD验证XML文档_第16张图片

15、Default

DTD验证XML文档_第17张图片

16、外部DTD样例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 家庭 SYSTEM "ExternalDTD.dtd">
<!--
 需求描述:
 * 子元素都为空元素
 * 家庭必须有一个人,可以没有家电
 * 名字和年龄是必须填写的
 * 性别男或女,默认为女
 * 住址固定为北京
-->
<家庭>
 <人 名字="张三" 性别="男" 年龄="25" 住址="北京"/>
 <人 名字="李四" 年龄="38" 爱好="做个教育家"/>
 <家电 名称="彩电" 数量="3"/>
</家庭>
<!ELEMENT 家庭 (人+,家电*)>
<!ELEMENT 人 EMPTY>
<!ELEMENT 家电 EMPTY>
<!ATTLIST 人
 名字 CDATA #REQUIRED
 性别 (男|女) "女"
 年龄 CDATA #REQUIRED
 住址 CDATA #FIXED "北京"
 爱好 CDATA #IMPLIED
>
<!ATTLIST 家电
 名称 CDATA #REQUIRED
 数量 CDATA #REQUIRED
>

 16、实体

DTD验证XML文档_第18张图片

17、实体样例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book SYSTEM "test.dtd">
<!--
 country 中国
 count 印度
 rights 版权所有
 pricenotation $
 type 支票或现金 默认为现金
-->
<book>
 <details>
  <name>xml 使用详解</name>
  <author>成龙来自&country;</author>
  <publication>Mac &rights;</publication>
  <price type="支票">&pricenotation;50</price>
 </details>
 <details>
  <name>xml 揭秘</name>
  <author>Raghu 来自&count;</author>
  <publication>Mac &rights;</publication>
  <price>&pricenotation;45</price>
 </details>
</book>
<!ELEMENT book (details+)>
<!ELEMENT details (name,author,publication,price)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT publication (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ATTLIST price
 type (支票|现金) "现金"
>
<!ENTITY country "中国">
<!ENTITY count "印度">
<!ENTITY rights "版权所有">
<!ENTITY pricenotation "$">

 

你可能感兴趣的:(分类,实体,元素的定义,定义属性,DTD的重要性,什么是DTD)