DTD 简介

文档类型定义(DTD)可定义合法的 XML文档组成部件,它使用一系列合法的元素来定义文档的结构

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

内部的 DOCTYPE 声明

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

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

带有 DTD 的 XML 文档实例(请在浏览器中打开,并选择查看源代码):

<?xml version="1.0" encoding="UTF-8" ?>
<!--  Copyright www.twle.cn -->
<!DOCTYPE article [
  <!ELEMENT article    (author,created_at,summary,content)>
  <!ELEMENT author      (#PCDATA)>
  <!ELEMENT created_at    (#PCDATA)>
  <!ELEMENT summary (#PCDATA)>
  <!ELEMENT content    (#PCDATA)>
]>
<article>
<author>简单教程</author>
<created_at>2017-08-08 08:08:08</created_at>
<summary>简单教程,简单编程</summary>
<content>简单教程[www.twle.cn]以编程开发所需掌握的语言和知识入手...</content>
</article> 

在您的浏览器中打开此 XML 文件,并选择查看源代码命令

简单解释下上面的 DTD:

  • !DOCTYPE article (第三行)定义此文档是 article 类型的文档

  • !ELEMENT article (第四行)定义 article 元素有四个元素:author,created_at,summary,content

  • !ELEMENT author (第五行)定义 author 元素为 "#PCDATA" 类型

  • !ELEMENT created_at (第六行)定义 created_at 元素为 "#PCDATA" 类型

  • !ELEMENT summary (第七行)定义 summary 元素为 "#PCDATA" 类型

  • !ELEMENT content (第八行)定义 content 元素为 "#PCDATA" 类型

外部文档声明

如果 DTD 位于 XML 文件以外的其他文件中,那么 XML 文件必须在 DOCTYPE 声明中通过以下的语法引入这个 DTD

<!DOCTYPE root-element SYSTEM "filename">

这个 XML 文档和上面的 XML 文档相同,但是拥有一个外部的 DTD: ( 在浏览器中打开 ,并选择查看源代码命令)

<?xml version="1.0" encoding="UTF-8" ?>
<!--  Copyright www.twle.cn -->
<!DOCTYPE article SYSTEM "https://www.twle.cn/static/media/note.dtd">
<article>
<author>简单教程</author>
<created_at>2017-08-08 08:08:08</created_at>
<summary>简单教程,简单编程</summary>
<content>简单教程[www.twle.cn]以编程开发所需掌握的语言和知识入手...</content>
</article> 

https://www.twle.cn/static/media/note.dtd 文件中 DTD 声明如下

<?xml version="1.0" encoding="UTF-8" ?>
<!--  Copyright www.twle.cn -->
<!DOCTYPE article [
  <!ELEMENT article    (author,created_at,summary,content)>
  <!ELEMENT author      (#PCDATA)>
  <!ELEMENT created_at    (#PCDATA)>
  <!ELEMENT summary (#PCDATA)>
  <!ELEMENT content    (#PCDATA)>
]>

为什么使用 DTD?

  • 通过 DTD,我们的每一个 XML 文件均可携带一个有关其自身格式的描述
  • 通过 DTD,独立的团队可一致地使用某个标准的 DTD 来交换数据
  • 我们的应用程序可以使用某个标准的 DTD 来验证从外部接收到的数据
  • 我们还可以使用 DTD 来验证自身的数据
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.