DTD 简介学习笔记

什么是DTD?

DTD,全称为“Document Type Definition”,即文档类型定义,它是一种用来定义XML或HTML文件结构和规则的语言。

使用DTD可以定义文档中元素、属性、实体等的结构和规则,使得在编写和解析文档时能够更加准确和规范。

DTD 的语法

DTD遵循的语法规则如下:

  • 元素声明:<!ELEMENT>,用于定义XML文档中的元素类型及其内容。
  • 属性声明:<!ATTLIST>,用于定义XML文档中元素的属性及其取值。
  • 实体声明:<!ENTITY>,用于定义XML文档中所使用的实体。
  • 注释:<!-- -->,用于注释DTD文档内容。

下面展示一个简单的DTD实例:

Copy Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!ELEMENT html (head, body)> <!ELEMENT head (title)> <!ELEMENT title (#PCDATA)> <!ELEMENT body (h1, p)> <!ELEMENT h1 (#PCDATA)> <!ELEMENT p (#PCDATA)> <!ATTLIST body bgcolor CDATA #IMPLIED>

上述DTD定义了一个符合XHTML 1.0 Strict规范的HTML文档,其中:

  • html元素必须包含head和body元素;
  • head元素必须包含title元素;
  • title元素只能包含文本(#PCDATA)内容;
  • body元素必须包含h1和p元素;
  • h1和p元素也只能包含文本内容;
  • body元素可以包含一个名为bgcolor的属性,其默认值为"transparent"。

DTD 的使用

在XML或HTML文档中使用DTD时,需要在文档开头声明DTD文件的位置,例如:

Copy Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

这个声明指明了DTD文件的位置和类型,浏览器或解析器会根据这个声明来验证文档是否符合DTD规范。

总结

DTD是一种定义XML或HTML文件结构和规则的语言,它可以定义文档中元素、属性、实体等的结构和规则。在XML或HTML文档中使用DTD时,需要在文档开头声明DTD文件的位置,以便解析器进行验证。