在這個範例中,將演示如何使用+*?
的組合。
DTD
根元素XXX
可以包含一個元素AAA
,後跟一個或多個元素BBB
。 元素AAA
可以包含一個元素CCC
和幾個元素DDD
。 元素BBB
必須只能包含一個元素CCC
和一個元素DDD
:
<!ELEMENT XXX (AAA? , BBB+)>
<!ELEMENT AAA (CCC? , DDD*)>
<!ELEMENT BBB (CCC , DDD)>
<!ELEMENT CCC (#PCDATA)>
<!ELEMENT DDD (#PCDATA)>
有效的文件
下面是一個有效的文件範例 -
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA>
<CCC/><DDD/>
</AAA>
<BBB>
<CCC/><DDD/>
</BBB>
</XXX>
AAA
中的子元素不是強制性的:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA/>
<BBB>
<CCC/><DDD/>
</BBB>
</XXX>
元素AAA
也可以省略:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<BBB>
<CCC/><DDD/>
</BBB>
</XXX>
無效的文件
元素BBB
必須包含元素CCC
和DDD
:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA/>
<BBB/>
</XXX>
元素AAA
最多可以包含一個元素CCC
:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA>
<CCC/><CCC/>
<DDD/><DDD/>
</AAA>
<BBB>
<CCC/><DDD/>
</BBB>
</XXX>