跳转至内容

XML - 数据交换管理/DTD

来自 Wikibooks,开放世界中的开放书籍



上一章 下一章
数据模式 XHTML



**D**ocument **T**ype **D**efinition (文档类型定义) 是一个链接到 XML 页面的文件。它控制着必须或可以显示的内容,哪些属性及其值必须/可以具有以及 XML 文件应该是什么样子。XHTML、HTML 和其他标记语言使用 DTD 来验证其文档。**注意**:Web 浏览器接受 HTML 中的错误标记。

DTD 的用途

[编辑 | 编辑源代码]

DTD 用于以自定义标记语言存储大量数据,该语言可用于特定程序或组织。与模式一样,它们可以具有元素、属性和实体。唯一的区别在于它如何显示。

与模式类似,DTD 也有序言。它是一行文本。

<?xml version="1.0" encoding="UTF-8"?>

问号用于告诉计算机您正在给他提供指令。单词 xml 告诉他您正在使用 XML,version 属性告诉他您正在使用哪个版本的 XML,而 encoding 属性告诉他如何编码数据(如果您想使用中文文本,则会使用不同的编码)。

<!ELEMENT> 标签

[编辑 | 编辑源代码]

元素标签用于显示页面的元素,具体取决于您如何声明它。它只能放在页面的特定部分或任何位置。

您声明的第一个元素是根元素(在 HTML 中是 html)。假设有一个组织想要一堆包含每个人的信息的 XML 文件。它们可能会有一个名为“person”的文件根元素。声明具有子元素的元素的标准是

<!ELEMENT elementName (childElement, childElement2, childElement3)>

因此,该组织的根元素标签声明将是

<!ELEMENT person (firstName, lastName, postalCode, cellNumber, homeNumber, email)>

**注意**:子元素必须在单独的元素标签中声明才能有效。

**注意**:逗号用于标识子元素是出现指示符(告诉计算机它应该如何出现的东西)。还有其他出现指示符。我们将在本章后面介绍它们。

**注意**:括号定义了括号中发现的内容类型。不同的内容类型将在本章后面找到。

有些元素您不希望将其链接到特定标签(例如,您想要用来突出显示重要信息的格式化标签),您可以执行相同的操作,但不会将其用作任何元素的子元素,具体取决于您的需求,您可以使用 ANY 内容类型,允许您在标签中使用字符数据或其他标签,EMPTY 内容类型,看起来像“<exampleXmlTag />”或用于文本的 #PCDATA。

**注意**:在元素声明中,您可以将括号与 #PCDATA 结合使用。它看起来像这样 <!ELEMENT elementName ( #PCDATA| childName)。管道符号表示您可以使用文本或其他标签。

华夏公益教科书