DTD - XML byggeblokke

XML 以及 HTML 文档的主要构建模块是类似 <body>....</body> 这样的标签。

XML 文档构建模块

所有的 XML 文档(以及 HTML 文档)均由以下简单的构建模块构成:

  • 元素
  • 属性
  • Entity
  • PCDATA
  • CDATA

下面是每个构建模块的简要描述。

元素

元素是 XML 以及 HTML 文档的主要构建模块

HTML 元素的例子是 "body" 和 "table"。XML 元素的例子是 "note" 和 "message" 。元素可包含文本、其他元素或者是空的。空的 HTML 元素的例子是 "hr"、"br" 以及 "img"。

实例:

<body>body text in between</body>
<message>some message in between</message>

属性

属性可提供有关元素的额外信息

属性总是被置于某元素的开始标签中。属性总是以名称/值的形式成对出现的。下面的 "img" 元素拥有关于源文件的额外信息:

<img src="computer.gif" />

Elementets navn er "img". Egenskabens navn er "src". Egenskabens værdi er "computer.gif". Da elementet selv er tomt, bliver det lukket med en "/".

Entity

Entityer bruges til at definere variable til almindelig tekst. Entity references er referencer til entityer.

De fleste elever kender denne HTML entity reference: " ". Denne "unbreakable space" entity bruges i HTML til at tilføje en ekstra mellemrum i et dokument.

Når dokumentet parseres af en XML-parser, vil entityerne blive udfoldet.

Følgende entityer er prædefineret i XML:

Entity reference Tegn
< <
> >
& &
" "
' '

PCDATA

PCDATA betyder fortolkede tegndata (parsed character data).

Man kan forestille sig tegndata som teksten mellem XML-elementets start- og slutetiketter.

PCDATA er tekst, der vil blive fortolket af parseren. Disse tekster vil blive kontrolleret for entityer og mærker af parseren.

Mærkerne i teksten vil blive behandlet som mærker, mens de entiteter, der er indeholdt, vil blive udfoldet.

Men det fortolkede tegndata bør ikke indeholde nogen &、< eller > tegn; brug &、< og > entityer til at erstatte dem henholdsvis.

CDATA

CDATA betyder tegndata (character data).

CDATA er tekst, der ikke vil blive fortolket af parseren.Mærkerne i disse tekster vil ikke blive behandlet som mærker, og de entiteter, der er indeholdt, vil ikke blive udfoldet.