DTD - 요소
在一个 DTD 中,元素通过元素声明来进行声明。
声明一个元素
在 DTD 中,XML 元素通过元素声明来进行声明。元素声明使用下面的语法:
<!ELEMENT 元素名称 类别>
或者
<!ELEMENT 元素名称 (元素内容)>
空元素
空元素通过类别关键词EMPTY进行声明:
<!ELEMENT 元素名称 EMPTY>
혼합형 내용 선언
<!ELEMENT br EMPTY>
XML例子:
<br />
只有 PCDATA 的元素
只有 PCDATA 的元素通过圆括号中的 #PCDATA 进行声明:
<!ELEMENT 元素名称 (#PCDATA)>
혼합형 내용 선언
<!ELEMENT from (#PCDATA)>
带有任何内容的元素
通过类别关键词 ANY 声明的元素,可包含任何可解析数据的组合:
<!ELEMENT 元素名称 ANY>
혼합형 내용 선언
<!ELEMENT note ANY>
带有子元素(序列)的元素
带有一个或多个子元素的元素通过圆括号中的子元素名进行声明:
<!ELEMENT 元素名称 (子元素名称 1)>
或者
<!ELEMENT 元素名称 (子元素名称 1,子元素名称 2,.....)>
혼합형 내용 선언
<!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 note (message)>
上面的例子声明了:message 子元素必须出现一次,并且必须只在 "note" 元素中出现一次。
声明最少出现一次的元素
혼합형 내용 선언
<!ELEMENT 요소명 (자식요소명+)>
<!ELEMENT note (message+)>
위의 예제에서 더블우산은 "message" 자식 요소가 "note" 요소 내에서 최소 1회 나타날 것을 선언합니다.
출현 횟수가 0회 또는 다중인 요소 선언
혼합형 내용 선언
<!ELEMENT 요소명 (자식요소명*)>
<!ELEMENT note (message*)>
위의 예제에서 별표는 "message" 자식 요소가 "note" 요소 내에서 나타날 수 있는지 없을 수 있는지를 선언합니다.
출현 횟수가 0회 또는 1회인 요소 선언
혼합형 내용 선언
<!ELEMENT 요소명 (자식요소명?)>
<!ELEMENT note (message?)>
위의 예제에서 물음표는 "note" 요소 내에서 "message" 자식 요소가 나타날 수 있는지 없을 수 있는지를 선언합니다.
혼합형 내용 선언
“비.../또는...”형 내용 선언
<!ELEMENT note (to,from,header,(message|body))>
위의 예제는 "note" 요소가 "to", "from", "header", "message"를 포함할 수 있는 것을 선언했습니다.
혼합형 내용 선언
예제:
<!ELEMENT note (#PCDATA|to|from|header|message)*)>