DTD示例6
在這個示例中,將演示如何使用+*?的組合。
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>