DTD 元素
-
定义和使用
在 DTD 中,元素使用 ELEMENT 声明进行声明。在 DTD 中,XML 元素使用以下语法声明:<!ELEMENT element-name category> 或者 <!ELEMENT element-name (element-content)>
-
空元素
空元素用类别关键字 EMPTY 声明:示例:<!ELEMENT element-name EMPTY> Example: <!ELEMENT br EMPTY> XML example: <br/>
-
具有已解析字符数据的元素
仅具有解析字符数据的元素在括号内用 #PCDATA 声明:<!ELEMENT element-name (#PCDATA)> Example: <!ELEMENT from (#PCDATA)>
元素的名称是 "img"。 该属性的名称是 "src"。 该属性的值为 "computer.gif"。 由于元素本身为空,因此用 "/" 关闭。
-
具有任何内容的元素
使用类别关键字 ANY 声明的元素可以包含可分析数据的任意组合:<!ELEMENT element-name ANY> Example: <!ELEMENT note ANY>
-
元素顺序
具有一个或多个子元素的元素用括号内的子元素名称声明:<!ELEMENT element-name (child1)> 或者 <!ELEMENT element-name (child1,child2,...)> Example: <!ELEMENT note (to,from,heading,body)>
当以逗号分隔的顺序声明子项时,子项必须在文档中以相同的顺序出现。 在完整声明中,还必须声明孩子,并且孩子也可以生孩子。 "note" 元素的完整声明为:<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
-
声明元素仅出现一次
<!ELEMENT element-name (child-name)> Example: <!ELEMENT note (message)>
上面的示例声明子元素 "message" 必须出现一次,并且在 "note" 元素内只能出现一次。
-
声明元素的最少出现一次
<!ELEMENT element-name (child-name+)> Example: <!ELEMENT note (message+)>
上面示例中的 + 号声明子元素 "message" 必须在 "note" 元素内出现一次或多次。
-
声明元素的出现次数为零或更多
<!ELEMENT element-name (child-name*)> Example: <!ELEMENT note (message*)>
上面示例中的 * 号声明子元素 "message" 必须在 "note" 元素内出现零次或多次。
-
声明元素出现零次或一次
<!ELEMENT element-name (child-name?)> Example: <!ELEMENT note (message?)>
上面示例中的 ? 号声明子元素 "message" 必须在 "note" 元素内出现零次或一次。
-
声明内容
<!ELEMENT note (to,from,header,(message|body))>
上面的示例声明 "note" 元素必须包含 "to" 元素,"from" 元素,"header" 元素以及 "message" 或 "body" 元素。
-
声明混合内容
<!ELEMENT note (#PCDATA|to|from|header|message)*>
上面的示例声明 "note" 元素可以包含零次或多次出现的解析字符数据,"to","from","header" 或 "message" 元素。