|
|
|
[XML初学进阶]XML(27) 网上资源
|
|
3.1.1.4 公用DTD
在前面一节中我们讲过,使用外部DTD时,要在DOCTYPE中使用关键字SYSTEM。实际上,SYSTEM不是引用外部DTD的唯一方法,这个关键字主要用于引用一个作者或组织所编写的众多XML文件中通用的DTD。还存在一种外部DTD,它是一个由权威机构制订的,提供给特定行业或公众使用的DTD。因此,另一个引用外部DTD的办法是使用关键字PUBLIC,引用这一类公开给公众使用的DTD。
当使用关键字PUBLIC进行引用时,这个外部DTD还需要得到一个标识名。引用公共DTD的形式为:
<!DOCTYPE 根元素 PUBLIC "DTD名称" "外部DTD的URL">
请见下面例子:
<!DOCTYPE 联系人列表 PUBLIC "联系人DTD" "http://www.mydomain.com/dtds/fclml.dtd">
这个DTD标识的命名规则和XML文件的命名规则稍有不同。具体地说,DTD名称只能包含字母、数字、空格和下面的符号:_%$#@()+:=/!*;?。同时,DTD名称还必须符合一些标准的规定。例如,ISO标准的DTD以“ISO”三个字母开头;被改进的非ISO标准的DTD以加号“+”开头;未被改进的非ISO标准的DTD以减号“-”开头。
无论是哪一种情况,开始部分后面都跟着两个斜杠“//”及DTD所有者的名称。在这个名称之后又是两个斜杠“//”,再然后是DTD所描述的文件的类型。最后,在又一对斜杠之后是语言的种类(参见ISO 639)。例如下面这个公用DTD的引用:
<!DOCTYPE 联系人列表 PUBLIC "-//Luna Dong//Contact Data//CN""http://www.mydomain.com/dtds/fclml.dtd">
看上去的确比较复杂,不过没关系,对于DTD的命名通常不是它的引用者的任务,XML文件的编写者只要在自己的文件中把事先定义好的DTD名称放在相应的位置中就可以了。
| |
|
|
|