DTD的声明:指XML文档中声明该文档的DTD或DTD来源的部分,可以包含在使用它的XML文档内部,也可以以独立的DTD文档(*.dtd)文档存在。
DTD分类:
1、内部DTD:即对XML文档中的元素、属性和实体的DTD的声明都在XML文档中。
内部DTD声明,是在XML文件中的声明部分,即紧接在XML处理指令之后。其格式和结构如下:
<?xml version = “1.0” encoding=“GB2312” standalone = "yes"?>
<!DOCTYPE 根元素名[
DTD的内容
]>
XML文件体.......
DOCTYPE为DTD的关键字
所有的DTD关键字都必须大写
2、外部DTD:即对XML文档中的元素、属性和实体的DTD的声明都在一个独立的DTD文件(.dtd)中。
如果为每一个XML文件加入一段DTD定义,是相当繁琐的。而且,通常会为一批XML文件定义一个相同的DTD。
外部DTD的分类:
外部DTD按其性质又可分为私有的和公共的。(1)私有外部DTD:个人的、小组内或一个组织内部使用的外部DTD文件。
(2)公共外部DTD:由国际上的标准组织、或某行业内制定的公开的外部DTD文件。
两种外部DTD的引用方式略有不同。
私有外部DTD文件的引用语法为:
<?xml version = “1.0” encoding=“GB2312” standalone = "no"?>
<!DOCTYPE 根元素名 SYSTEM “外部DTD文件的URL">
XML文件体.......
SYSTEM为引用私有外部DTD文件的关键字,必须大写。standalone必须为“no”
DTD文件的URL可以是绝对路径,也可以是相对路径,要让引用它的XML文件能够找到。
公共外部DTD文件的引用语法为:
<?xml version = “1.0” encoding=“GB2312” standalone = "no"?>
<!DOCTYPE 根元素名 PUBLIC “DTD名称” "DTD文件的URL">
XML文件体.......
PUBLIC为引用公共外部DTD文件的关键字,必须大写。DTD名称 -//ZJZYB//DTD of student information//ZH
例如:
<!DOCTYPE 学生列表 PUBLIC "-//ZJZYB//DTD of student information//ZH" "ch3-3.dtd">
DTD文件的URL可以是绝对路径,也可以是相对路径,要让引用它的XML文件能够找到。
DTD名称的命名规则:
(1)+/- :例如,获得ISO认证的组织以加号“+”开头;未被ISO认证的组织以减号“-”开头。(2)组织名称:表明DTD所有者。
(3) 表明主要内容:一个表明DTD主要内容的字符串。
(4) 表明所使用的语言:尾部要包含一个表明所使用的语言标志,如EN、ZH、FR、DE等,ISO639定义)
(5)分隔符:在上述任何两部分内容之间,都加“//”分隔符。
-//ZJZYB//DTD of student information//ZH