本文记录在XML文档中引用DTD规则的语法及各组成元素的含义
1、内部DTD规则
<!DOCTYPE root-element [ ...... ]>
注:此时文档的XML声明需要使用standalone="yes",如下:
<?xml version="1.0" standalone="yes"?>
2、外部DTD关联
与内部声明相反,为文档实例指定来自于外部文件的DTD定义时,XML声明应该使用standalone="no",如下:
<?xml version="1.0" standalone="no"?>
下面是一个常见于HTML文档中的外部DTD引用示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
说明:
PUBLIC后面第一个引号中的部分是DTD的公开标识符(public identifier,PUBLIC_ID),须要遵循固定的格式;第二个引号中的部分是DTD的系统标识符(system identifier,SYSTEM_ID),通常使用能访问到DTD文件的网络或本地URI表示。
外部DTD文件又分为私有和公开两种类型:
2.1、私有外部DTD文件
私有外部DTD文件为私人机构或开发小组所有,声明中使用关键字SYSTEM,只需要提供SYSTEM_ID,语法如下:
<!DOCTYPE root-element SYSTEM "SYSTEM_ID">
2.2、公开外部DTD文件
公开外部DTD文件是指众所周知、公开的由权威组织制定,或经标准化组织批准的DTD定义,使用关键字PUBLIC,需要同时提供PUBLIC_ID和SYSTEM_ID,SYSTEM_ID一般是DTD资源所在的网络URL。声明语法如下:
<!DOCTYPE root-element PUBLIC "PUBLIC_ID" "SYSTEM_ID">
PUBLIC_ID一般遵循如下格式:
prefix//owner_of_the_DTD//description_of_the_DTD//ISO 639_language_identifier
说明:
(1) prefix可取值ISO、+或-,分别表示通过批准的ISO标准、通过批准的非ISO标准和未通过批准的非ISO标准
(2) 符合上述格式的DTD_name示例:
-//W3C//DTD XHTML 1.1//EN