xml dtd
场景:XML资料引用DTD
XML文件引用DTD
XML文件引用DTD
DTD用来规范XML的语法正确性。引用DTD方式有2种:内部DTD和外部DTD
- 内部DTD文档:是指直接在XML文件中书写DTD的定义,其约束范围也仅限于当前XML文件。
<?xml version=”1.0” encoding=”gb2312” standalone=”yes”?>
<!DOCTYPE root [
<!ELEMENT root (#PCDATA)>
]>
- 外部DTD文档:是指DTD文件放在本XML文档的外部,作为一个单独的文件来保存的。
使用外部DTD时,要在DOCTYPE中使用关键字SYSTEM或者PUBLIC。
SYSTEM 关键字表示文档使用的是私有的DTD文件,就好像是公司的规章制度,只是公司内部人员遵守。
PUBLIC 关键字用于公共的DTD,就好像是多家公司联合出台的规章制度,每个公司都要遵守。
<!DOCTYPE 根元素名 SYSTEM "外部DTD文件的URL">
<!DOCTYPE 根元素名 PUBLIC "公共DTD的名称" "公共DTD文件的URL">
例如struts2引用的DTD:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
"公共DTD的名称"要遵循一些约定:
如果一项DTD是ISO标准,他的名称要以字符串"ISO"开始;
如果是一个非ISO的标准组织批准的DTD,它的名称以加号(+)开始;
如果不是标准组织批准的DTD,它的名称以连字符(-)开始。
这些开始字符或字符串后接双斜杠(//)和DTD所有者的名字;之后是一个双斜杠和DTD描述的文档类型;接着又是一个双斜杠后接ISO 639 语言标识符,如EN表示英语,ZH表示中文。