1、有效的XML文档。首先XML文档是个格式正规的XML文档,然后满足DTD的要求,这样的XML文档成为有效的XML文档。
2、DTD文档的声明及引用
内部DTD文档
<!DOCTYPE 根元素 [定义内容]>
外部DTD文档
<!DOCTYPE 根元素 SYSTEM "DTD文件路径">
内外部DTD文档结合
<!DOCTYPE 根元素 SYSTEM "DTD文件路径"[定义内容]>
3、#PCDATA(Parsed Character Data),可解析的字符数据。
4、DTD示例:
1)内部
<?xml version="1.0" encoding="UTF-8"?>
<!-- DTD begin -->
<!DOCTYPE poem [
<!ELEMENT poem (author, title, content)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT content (#PCDATA)>
]>
<!-- DTD end -->
<poem>
<author> 王维</author >
<title> 鹿柴</title >
<content> 空山不见人,但闻人语响。
返景入深林,复照青苔上。 </content>
</poem>
5、元素的定义
<!ELEMENT NAME CONTENT>
CONTENT:
EMPTY、ANY、#PCDATA、纯元素类型、混合类型
6、属性的定义
语法:
<!ATTLIST 元素名称
属性名称 类型 属性特点
。。。。
>
类型:CDATA、ID、IDREF/IDREFS、NMTOKEN/NMTOKENS、Enumerated、ENTITY/ENTITIES、NOTATION、NOTATIONS
属性特点:#REQUIRED、#IMPLIED、#FIXED value、 Default value
7、定义实体——内部实体
语法:<!ENTITY 实体名 "实体值">
8、定义实体——外部实体
语法:<!ENTITY 实体名 SYSTEM "URI/URL">
9、关于普通实体与参数实体
1)普通实体实在dtd中定义,xml中使用,使用的时候格式为:&address;
2)参数实体实在dtd中定义,dtd中使用,定义的时候使用%,使用的时候也需要使用%,%address;
3)普通外部实体的定义方式是:
<!ENTITY address SYSTEM "URI/URL"> ,使用时&address
4)外部参数实体:
<!ENTITY %address SYSTEM "URI/URL">,使用时%address