DTD(文档类型定义)的作用是定义 XML 文档的合法构建模块。DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

DTD 简介

文档类型定义(DTD)可定义合法的XML文档构建模块。它使用一系列合法的元素来定义文档的结构。

DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用。

内部的 DOCTYPE 声明

假如 DTD 被包含在您的 XML 源文件中,它应当通过下面的语法包装在一个 DOCTYPE 声明中:

<!DOCTYPE root-element [element-declarations]>

带有 DTD 的 XML 文档实例(请在 IE5 以及更高的版本打开,并选择查看源代码):

<?xml version="1.0"?>
<!DOCTYPE note [
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to      (#PCDATA)>
<!ELEMENT from    (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body    (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend</body>
</note>

以上 DTD 解释如下:

  1. !DOCTYPE note (第二行)定义此文档是 note 类型的文档。
  2. !ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"
  3. !ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型
  4. !ELEMENT from (第五行)定义 from 元素为 "#PCDATA" 类型
  5. !ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型
  6. !ELEMENT body (第七行)定义 body 元素为 "#PCDATA" 类型

外部文档声明

假如 DTD 位于 XML 源文件的外部,那么它应通过下面的语法被封装在一个 DOCTYPE 定义中:

<!DOCTYPE root-element SYSTEM "filename">

这个 XML 文档和上面的 XML 文档相同,但是拥有一个外部的 DTD

<?xml version="1.0"?>
<!DOCTYPE note SYSTEM "note.dtd">
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>

这是包含 DTD 的 "note.dtd" 文件:

<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

为什么使用 DTD?

通过 DTD,您的每一个 XML 文件均可携带一个有关其自身格式的描述。

通过 DTD,独立的团体可一致地使用某个标准的 DTD 来交换数据。

而您的应用程序也可使用某个标准的 DTD 来验证从外部接收到的数据。

您还可以使用 DTD 来验证您自身的数据。

DTD(文档类型定义)概述相关推荐

  1. XML--- XML文档类型定义(DTD)

    **定义:**DTD定义了文档的逻辑结构,规定了文档中所使用的元素.实体.元素的属性.元素与实体之间的关系.其作用主要表现在以下几个方面. (1) 使用DTD可以提供一种统一的格式.XML的可扩展性为 ...

  2. 文档声明Doctype和Doctype html区别 文档类型定义(DTD)

    文档类型定义(DTD)可定义合法的XML文档构建模块.它使用一系列合法的元素来定义文档的结构. DTD 可被成行地声明于 XML 文档中,也可作为一个外部引用. 文档声明的作用: 文档声明是为了告诉浏 ...

  3. DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义

    DOCTYPE html PUBLIC 指定了 HTML 文档遵循的文档类型定义 今天看到一篇CSS应用的一个友好搜索,我按网页上的代码复制.粘贴后预览时总达不到效果,而直接拷贝他的实例却能达到效果, ...

  4. XML——文档类型定义(DTD-Document Type Definition)

    [0]README 0.1)本文文字描述转自 core java volume 2 , 旨在理解 XML--文档类型定义(DTD-Document Type Definition) 的基础知识: 0. ...

  5. 文档类型定义和合法性(2)

    8.5.3 子元素列表 由于SEASON元素被声明为可以接受任何元素作为子元素,因而可以接受各种各样的元素.当遇到那些多多少少有些非结构化的文本,如杂志文章时,这种情况就很有用.这时段落.副栏.项目列 ...

  6. XML之文档类型定义和合法性(转)

    来至:liang--liang博客:http://www.cnblogs.com/liang--liang/archive/2008/01/15/1039277.html 好牛 XML被作为一种元标记 ...

  7. 前端:HTML5/36/HTML5简介,文档类型定义,网页字符集,页面结构标记,文章相关的标记,其它标记,音频标记,视频标记,表单中新增的属性,表单input元素type属性的值

    HTML5简介 HTML5是新一代的HTML: HTML5目前主要应用在手机端,在PC端最新浏览器已经开始支持了,但还不全面: HTML5是由W3C和WHATWG合作的结果: W3C是万维网联盟,主要 ...

  8. XML文档类型定义DTD

    DTD概述 DTD用来定义XML文档的结构,它包含一系列规则说明,以确保XML文档的一致性和有效性 DTD定义了XML文档可用的词汇(元素和属性的名称)和结构: 元素名称,包括根元素 元素的属性及属性 ...

  9. J2EE之dtd(文档类型定义)

    一:良好xml的格式 1:xml的作用 1.1 数据交互(两种方式) 第一种:{name:xxx,sex:'男',age:18},{name:xxx,sex:'男',age:18},{name:xxx ...

最新文章

  1. C语言经典小游戏---猜数字游戏 (包含C语言中如何实现随机数的生成)
  2. 【转载】变量的存储类别
  3. (转)正则表达式语法备忘录
  4. gSOAP中内存的使用
  5. 帆软报表(finereport)JS实现cpt中详细单元格刷新
  6. 解决Vista文件操作缓慢问题:五大方案
  7. mel滤波器组频率响应曲线_非常好的滤波器知识总结,值得一看!
  8. C/C++语言以某符号分割字符串
  9. java项目出现问号_苹果电脑启动Mac时,出现问号文件夹,解决方法
  10. CDH ecosystem components
  11. 【Gamma】Scrum Meeting 6
  12. 百度Android在线语音识别SDK用法
  13. case when then else_SQL 优化大神玩转 MySQL函数系列_case_when 的坑
  14. java学习笔记(二)图形用户接口
  15. SpringBoot + Eureka启动失败
  16. 小程序模板template
  17. Kali Linux学习之arp地址欺骗
  18. 人机问答系统的前世今生
  19. 【数字IC基础】IC(Integrated Circuit,集成电路)常用缩写
  20. 中兴c300 OLT配置SFU

热门文章

  1. 一文读懂深度学习中的各种卷积
  2. 阿里原来是这么干的!Spring Boot 五种热部署方式
  3. 【每日一算法】平衡二叉树
  4. 【每日一算法】两数之和 IV - 输入 BST
  5. flannel原理初探针对0.1.0版本
  6. python 报错 IndentationError: expected an indented block SyntaxError: invalid character in identifie
  7. 信息安全的一些东西,初步查询了解!
  8. OpenCV中MeanShift算法视频移动对象分析
  9. 四张图彻底搞懂CNN反向传播算法(通俗易懂)
  10. 第二篇:时间和全局状态(二)