[初探Xerces系列]DTD

[初探Xerces系列]DTD
DTD 用于指定:可以在文档中存在的元素、那些元素可以具有的属性、在元素内部元素的层次结构以及元素在整个文档中出现的顺序。

语法:

A、B、C 和 D 是在下例中代表元素的变量。

元素必须有正好一个 A 、至少一个 B (由加号表示)、零个或多个 C (由星号表示)以及零个或一个 D (由问号表示):

<!ELEMENT element (A, B+, C*, D?)>
            

元素可能有 ABC 之一:

<!ELEMENT element (A | B | C)>
            

元素不包含任何内容:

<!ELEMENT element EMPTY>
            

元素可以包含在 DTD 中列出的任何元素:

<!ELEMENT element ANY>
            

元素可能包含经过语法分析的字符数据或另一个元素( element2 )。星号(*)表示混合内容模型 — 其中元素可以包含不同类型的属性。

<!ELEMENT element (#PCDATA|element2)*>
            

下例将文本 "entity reference" 插到文档中它出现的任何地方:

<!ENTITY element "entity reference">
            

可以看到在 XML 文档中该实体引用元素如下:

&element;
            

下例表明其元素是一个包含三个属性的空标记:属性 1( att1 )是一个可选属性,属性 2( att2 )是带有固定值 "A" 的属性,属性 3( att3 )是必需的文本属性。

   <!ELEMENT element EMPTY>
            <!ATTLIST element
            att1 ID #IMPLIED
            att2 CDATA #FIXED "A"
            att3 CDATA #REQUIRED>
            

可以看到在 XML 文档中使用的这个元素如下:

<element att2="A" att3="MustHave"/>
            

属性 CDATA 表示包括的信息应该是文本。 ID 属性表明必须填入唯一的标识。每个元素只能有一个 ID 属性。另外, CDATA 表示 att2att3 可能包含任何字符串。

你可能感兴趣的:([初探Xerces系列]DTD)