DTD - XML 基础
XML 和 HTML 文档的主要构建块是元素。
XML 文档的构建块
从 DTD 的角度来看,所有 XML 文档都由以下构建块组成
- 元素
- 属性
- 实体
- PCDATA
- CDATA
元素
元素是 XML 和 HTML 文档的主要构建块。
HTML 元素的示例是 "body" 和 "table"。XML 元素的示例可以是 "note" 和 "message"。元素可以包含文本、其他元素,或者为空。空 HTML 元素的示例是 "hr"、"br" 和 "img"。
示例
<body>some text</body>
<message>some text</message>
属性
属性为元素提供额外信息。
属性始终放在元素的开始标签内。属性始终成对出现,即名称/值对。下面的 "img" 元素具有关于源文件的附加信息
<img src="computer.gif" />
元素的名称是 "img"。属性的名称是 "src"。属性的值是 "computer.gif"。由于元素本身为空,因此用 "/" 闭合。
实体
某些字符在 XML 中具有特殊含义,例如小于号 (<) 定义了 XML 标签的开始。
你们大多数人都知道 HTML 实体: " "。这个 "不间断空格" 实体在 HTML 中用于在文档中插入额外的空格。当 XML 解析器解析文档时,实体会被展开。
XML 中预定义了以下实体
实体引用 | 字符 |
---|---|
< | < |
> | > |
& | & |
" | " |
' | ' |
PCDATA
PCDATA 表示可解析字符数据。
将字符数据视为 XML 元素开始标签和结束标签之间的文本。
PCDATA 是将被解析器解析的文本。文本将被解析器检查实体和标记。
文本中的标签将被视为标记,实体将被展开。
但是,可解析字符数据不应包含任何 &、< 或 > 字符;它们分别需要用 &、< 和 > 实体表示。
CDATA
CDATA 表示字符数据。
CDATA 是不会被解析器解析的文本。文本中的标签不会被视为标记,实体也不会被展开。