XML中的DTD文档类型定义详细介绍

这篇文章主要介绍了xml中的dtd文档类型定义,是xml入门学习中的基础知识,需要的朋友可以参考下

XML 文档类型定义,俗称 DTD,它是一种准确描述 XML 语言的方式。DTDs 根据适当 XML 语言的语法规则检查 XML 文档的词汇和结构的有效性。

XML DTD 可以指定在文档内部,也可以保存在独立的文档中然后单独链接。

语法
DTD 的基本语法如下所示:

nbsp;element DTD identifier   [       declaration1       declaration2       ........   ]>

登录后复制

上述语法中:

DTD 以
element 用于告诉解析器从指定的根元素开始解析文档。
DTD identifier 是一个用于文档类型定义的标示符,它可以是一个指向系统中某个文件的路径或者连接到互联网上某个文件的 URL。如果 DTD 指向外部路径,则被称为外部子集。 _ [] 内是一个可选的实体声明列表,被称为内部子集。
内部 DTD
如果一个元素声明在 XML 文档的内部则 DTD 被称为内部 DTD。为了把它作为内部 DTD,XML 声明中的 standalone 属性必须设置为 yes。这意味着,声明的工作独立于外部源。

语法

内部 DTD 语法如下所示:

nbsp;root-element [element-declarations]>

登录后复制

这里 root-element 是根元素的名称,element-declarations 表示我们声明的元素。

示例

下面是一个内部 DTD 的简单示例:

  nbsp;address [                       ]>  
      Tanmay Patil      TutorialsPoint      (011) 123-4567  

登录后复制

我们来看一下上面的代码:

开始声明 – 使用如下语句开始 XML 声明:


登录后复制

DTD – 紧跟在 XML 头后面,_文档类型声明_如下,通常被称为 DOCTYPE:

DOCTYPE 声明在元素名称的开头包含一个感叹号(!)。DOCTYPE 会通知解析器有一个 DTD 与这个文档相关联。

DTD Body – DOCTYPE 声明后面紧跟 DTD 体,这里我们声明元素,属性,实体和符号:

      

登录后复制

许多元素都在这里通过 文档词汇声明。 定义元素_名称_为 “#PCDATA” 类型。这里 #PCDATA 意味着可解析的文本数据。

结束声明 – 最后,DTD 的声明部分使用方括号和尖括号(]>)闭合。这是一个有效的结束定义,后面紧跟的就是 XML 文档内容。

规则

文档类型声明必须出现在文档的开头部分(只先与 XML 头),不允许出现在文档的任意其他位置。
类似于 DOCTYPE 声明,元素声明必须以感叹号开始。
文档类型声明中的 Name 必须与根元素的类型匹配。
外部 DTD
在外部 DTD 中元素声明在 XML 文档的外部。通过指定 system 属性来访问,这个属性值可以是合法的 .dtd 文件或者有效的 URL。为了指示它是外部 DTD,XML 声明的 standalone 属性必须设置为 no。这就意味着,声明包含来自外部源的信息。

语法

下面是外部 DTD 的语法:

nbsp;root-element SYSTEM "file-name">

登录后复制

这里 file-name 就是 .dtd 扩展的文件。

示例

下面的示例展示了外部 DTD 的用法:

  nbsp;address SYSTEM "address.dtd">  
      Tanmay Patil      TutorialsPoint      (011) 123-4567  
  DTD 文件 address.dtd 的内容如下所示:           

登录后复制

类型

我们可以通过使用系统标示符或者公共标示符引用一个外部DTD。

系统标示符

系统标示符允许我们指定包含 DTD 声明的外部文件的位置。语法如下:

nbsp;name SYSTEM "address.dtd" [...]>

登录后复制

正如我们可以看到的,它包含 SYSTEM 关键字和一个指向文档位置的 URI 引用。

公共标示符

公共标示符提供了一种定位 DTD 资源的机制,写法如下:

nbsp;name PUBLIC "-//Beginning XML//DTD Address Example//EN">

登录后复制

正如我们可以看到的,它以 PUBLIC 关键字开始,后面紧跟的是专门的标识符。公共标识符被用来标识目录中的条目。公共标识符可以遵循任意格式,但是常用的格式是正式公用标识符(或者 FPIs)。

声明元素
在dtd中声明元素(在一个xml如果一个元素想要让它是合法的,则需要在dtd中声明)
      语法:和这两种方式

例如:


登录后复制

则xml可以写成:


登录后复制

注意点
在dtd中
所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:
元素
属性
实体
PCDATA
CDATA
下面是一些注意点:
(1)实体是用来定义普通文本的变量。实体引用是对实体的引用。
大多数同学都了解这个 HTML 实体引用:” “。这个“无折行空格”实体在 HTML 中被用于在某个文档中插入一个额外的空格。
当文档被 XML 解析器解析时,实体就会被展开。
XML中的DTD文档类型定义详细介绍

(2) PCDATA
PCDATA 的意思是被解析的字符数据(parsed character data)。
可把字符数据想象为 XML 元素的开始标签与结束标签之间的文本。
PCDATA 是会被解析器解析的文本。这些文本将被解析器解析成实体以及标记。
文本中的标签会被当作标记来处理,而实体会被展开。
不过,被解析的字符数据不应当包含任何 &、 字符;需要使用 &、 实体来分别替换它们。
(3)CDATA
CDATA 的意思是字符数据(character data)。
CDATA 是不会被解析器解析的文本。在这些文本中的标签不会被当作标记来对待,其中的实体也不会被展开。

以上就是XML中的DTD文档类型定义详细介绍的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2419630.html

(0)
上一篇 2025年3月3日 02:51:23
下一篇 2025年2月22日 17:05:32

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 详细介绍XML代码编写的编码与验证问题

    这篇文章主要介绍了xml代码编写的编码与验证问题,与html类似,xml文件的编码也能在序言部分被指定,需要的朋友可以参考下 编码 编码就是转换 Unicode 字符为等价二进制表示的过程。XML 处理程序读取一个 XML 文档时,它依赖于…

    编程技术 2025年3月3日
    200
  • XML中处理指令的代码详解

    这篇文章主要介绍了xml中的处理指令,处理指令在xml中并不常用,稍作了解即可,需要的朋友可以参考下 “处理指令(PIs)允许文档包含用于应用程序的指令。指令并不是文档字符数据的一部分,但是必须通过应用程序传递”。处…

    编程技术 2025年3月3日
    200
  • XML中的代码注释书写方法的详解

    这篇文章主要介绍了详解xml中的代码注释书写方法,文章中总结了注释使用的一些注意点,比如xml不支持嵌套注释等,需要的朋友可以参考下 XML 注释与 HTML 注释类似。注释被用来添加说明或者理解某行 XML 代码。 注释可以用来包含相关链…

    编程技术 2025年3月3日
    200
  • 详细介绍XML中的属性学习方法

    这篇文章主要介绍了xml中的属性学习教程,包括使用属性将数据存储在子元素中的例子,需要的朋友可以参考下 属性是 XML 元素的一部分。一个元素可以有多个唯一属性。属性提供了 XML 元素的更多信息。更准确地说,它们定义了元素的属性(prop…

    编程技术 2025年3月3日
    200
  • XML中的标签与元素的使用具体介绍

    这篇文章主要介绍了xml中的标签与元素的使用,是xml入门学习中的基础知识,需要的朋友可以参考下 标签我们来了解一下 XML 最重要的部分之一,XML 标签。XML 标签是 XML 的基础。它们定义了 XML 中某个元素的范围。它们也可以用…

    编程技术 2025年3月3日
    200
  • 详细介绍XML中的文档与声明用法

    这篇文章主要介绍了xml中的文档与声明用法,是xml入门学习中的基础知识,需要的朋友可以参考下 一个 XML 文档 就是一个有井井有条的元素和其他标记组成的 XML 信息基本单元。一个 XML _文档_可以包含各种各样的数据。比如,数字数据…

    2025年3月3日
    200
  • XML标记语言的基本概念及语法的入门教程介绍(图)

    这篇文章主要介绍了xml标记语言的基本概念及语法入门教程,xml同时也被广泛用作标记数据来作为xml数据交换格式,需要的朋友可以参考下 XML 表示可扩展标记语言。它是一种基于文本的标记语言,源自标准通用标记语言(SGML)。 XML 标签…

    2025年3月3日
    200
  • 详细介绍C#读写xml文件应用的示例代码

    c#读写xml文件已知有一个xml文件(bookstore.xml)如下: 已知有一个XML文件(bookstore.xml)如下:  代码如下:    Oberon’s Legacy Corets, Eva 5.95   登录后复制 1、…

    编程技术 2025年3月3日
    200
  • .net读写xml文档详解

    这篇文章主要介绍了.net读写xml文档的示例,需要的朋友可以参考下 一  .Net框架中与XML有关的命名空间 System.Xml包含了一些和XML文档的读写操作相关的类,它们分别是:XmlReader、XmlTextReader、Xm…

    编程技术 2025年3月3日
    200
  • XML中的DTD文档类型定义完全解析的示例代码(图)

    xml标签的自定义功能非常强大,比如本文将要讲解的dtd(document type definition)就带给人们一种面向对象般的感觉,well,下面就来看一下xml中的dtd文件类型定义完全解析 一、何为DTDDTD的全称为Docum…

    2025年3月3日
    200

发表回复

登录后才能评论