DTD

作者: 弹指一挥间_e5a3 | 来源:发表于2021-01-01 13:00 被阅读0次

DTD (文档类型定义)

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

内部的 DOCTYPE 声明

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

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

带有 DTD 的 XML 文档实例

<?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 解释如下:

  • !DOCTYPE note (第二行)定义此文档是 note 类型的文档。
  • !ELEMENT note (第三行)定义 note 元素有四个元素:"to、from、heading,、body"
  • !ELEMENT to (第四行)定义 to 元素为 "#PCDATA" 类型
  • !ELEMENT from (第五行)定义 from 元素为 "#PCDATA" 类型
  • !ELEMENT heading (第六行)定义 heading 元素为 "#PCDATA" 类型
  • !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概念

    DTD文档定义 DTD元素定义 DTD属性定义 DTD实体引用定义 XML和DTD 文中大写是强制的,请务必遵守。...

  • XML类别及解析XML的几种方式

    XML约束文档分为DTD,Schema两种格式 DTD DTD(Document Type Definition)...

  • DTD

    一、声明 内部DOCTYPE 外部DOCTYPE 二、XML结构 元素 属性 实体< > &...

  • DTD

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

  • DTD

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

  • XML(二)XML约束

    XML约束 DTD DTD(Document Type Define),dtd文件中描述并规定了元素、属性和其他内...

  • 【第二天】02-HTML的标签(中)

    1.2补充关于DTD

  • XXE——参数实体攻击(CVE-2017-14949)

    XML参数实体 参数实体必须定义在单独的DTD文档中或XML文档的DTD区(但是引用只能在DTD文档中,即外部子集...

  • XML规范(3)--DTD限制

    XML元素限制 DTD (Document Type Definition):文档类型定义DTD作用:可以通过 D...

  • DTD声明

    :文档声明 定义和用法 定义:是指示浏览器使用哪个HTML版本渲染编写的代...

网友评论

      本文标题:DTD

      本文链接:https://www.haomeiwen.com/subject/zljroktx.html