可以在文档内部指定XML DTD,也可以将其保存在单独的文档中,然后可以将该文档链接到DTD文档以使用它。 句法DTD的基本语法如下-
<!DOCTYPE element DTD identifier
[
declaration1
declaration2
........
]>
在上面的语法中-
内部DTD如果在XML文件中声明了元素,则DTD称为内部DTD。要将其引用为内部DTD,必须将XML声明中的独立属性设置为yes。这意味着声明的工作独立于外部来源。 句法内部DTD的语法如下所示-
<!DOCTYPE root-element [element-declarations]>
其中root-element是根元素的名称,而element-declarations是您声明元素的位置。 例以下是内部DTD的简单示例- <?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?> <!DOCTYPE address [ <!ELEMENT address (name,company,phone)> <!ELEMENT name (#PCDATA)> <!ELEMENT company (#PCDATA)> <!ELEMENT phone (#PCDATA)> ]> <address> <name>Tanmay Patil</name> <company>TutorialsPoint</company> <phone>(011) 123-4567</phone> </address> 让我们看一下上面的代码- 开始声明 -用以下语句开始XML声明。 <?xml version = "1.0" encoding = "UTF-8" standalone = "yes" ?> DTD-在XML标头之后,紧随其后的是文档类型声明,通常称为DOCTYPE-
<!DOCTYPE address [
DOCTYPE声明在元素名称的开头带有感叹号(!)。DOCTYPE通知解析器DTD与该XML文档相关联。 DTD正文-DOCTYPE声明后跟DTD的正文,您可以在其中声明元素,属性,实体和符号- <!ELEMENT address (name,company,phone)> <!ELEMENT name (#PCDATA)> <!ELEMENT company (#PCDATA)> <!ELEMENT phone_no (#PCDATA)> 在此声明了几个元素,这些元素构成了<name>文档的词汇表。<!ELEMENT名称(#PCDATA)>将元素名称定义为“ #PCDATA”类型。这里的#PCDATA表示可解析的文本数据。 结束声明 -最后,使用闭括号和闭尖括号(]>)关闭DTD的声明部分。这有效地结束了定义,此后,XML文档立即跟随。 规则
外部DTD在外部DTD中,元素在XML文件外部声明。通过指定系统属性(可以是合法的.dtd文件或有效的URL)来访问它们。要将其引用为外部DTD,必须将XML声明中的独立属性设置为 no。这意味着声明包含来自外部来源的信息。 句法以下是外部DTD的语法-
<!DOCTYPE root-element SYSTEM "file-name">
其中file-name是扩展名为.dtd的文件。 例以下示例显示了外部DTD的用法- <?xml version = "1.0" encoding = "UTF-8" standalone = "no" ?> <!DOCTYPE address SYSTEM "address.dtd"> <address> <name>Tanmay Patil</name> <company>TutorialsPoint</company> <phone>(011) 123-4567</phone> </address> DTD文件address.dtd的内容如下所示- <!ELEMENT address (name,company,phone)> <!ELEMENT name (#PCDATA)> <!ELEMENT company (#PCDATA)> <!ELEMENT phone (#PCDATA)> 种类您可以使用系统标识符或公共标识符来引用外部DTD 。 系统识别码 系统标识符使您可以指定包含DTD声明的外部文件的位置。语法如下-
<!DOCTYPE name SYSTEM "address.dtd" [...]>
如您所见,它包含关键字SYSTEM和指向文档位置的URI引用。 公开标识符 公共标识符提供了一种定位DTD资源的机制,其编写方式如下-
<!DOCTYPE name PUBLIC "-//Beginning XML//DTD Address Example//EN">
如您所见,它以关键字PUBLIC开头,后跟一个专用标识符。公共标识符用于标识目录中的条目。公共标识符可以采用任何格式,但是,常用的格式称为正式公共标识符或FPI。 |