加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

DTD的基本语法

发布时间:2023-09-22 12:30:57 所属栏目:教程 来源:
导读:XML DTD既可以在文档中指定,也可以保存在单独的文档中,然后可以将文档链接到DTD文档以使用它。

语法

DTD的基本语法如下 -
<!DOCTYPE element DTD identifier
[
declaration1
declaration2
...
XML DTD既可以在文档中指定,也可以保存在单独的文档中,然后可以将文档链接到DTD文档以使用它。

语法

DTD的基本语法如下 -
<!DOCTYPE element DTD identifier
[
   declaration1
   declaration2
   ........
]>
在上面的语法中 -

DTD以<!DOCTYPE分隔符开头。
元素告诉解析器从指定的根元素解析文档。
DTD标识符是文档类型定义的标识符,可以是系统上文件的路径或Internet上文件的URL。 如果DTD指向外部路径,则称为外部子集。
方括号[]包含一个称为内部子集的可选实体声明列表。

内部DTD
如果在XML文件中声明元素,则这样的DTD称为内部DTD。 要将其作为内部DTD引用,XML声明中的standalone属性必须设置为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 Su</name>
   <company>Yiibai Yiibai</company>
   <phone>(086) 123-4567-789</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 name(#PCDATA)>将元素名称定义为“#PCDATA”类型。这里#PCDATA表示可解析的文本数据。

结束声明 - 最后,DTD的声明部分使用右括号和闭合角括号 - ]>关闭。 这有效地结束了定义,此后就是XML文档的内容。

语法

以下是外部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 Su</name>
  <company>Yiibai Yiibai</company>
  <phone>(086) 123-4567789</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引用。

PUBLIC标识符

PUBLIC标识符提供了一种定位DTD资源的机制,如下所示 -
<!DOCTYPE name PUBLIC -//Beginning XML//DTD Address Example//EN>

如上所见,它以关键字PUBLIC开头,后跟专用标识符。 PUBLIC标识符用于标识目录中的条目。 PUBLIC标识符可以遵循任何格式,但是,常用的格式称为PUBLIC公共标识符或FPI。

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章