DTD示例7

使用|帶字符,可以從幾個元素中選擇一個。

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/>
   </BBB>
</XXX>

下面是另一個有效的文檔 -

<!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA>
      <CCC/> <DDD/>
   </AAA>
   <BBB>
      <DDD/>
   </BBB>
</XXX>

有錯誤的文件

元素BBB可以包含元素CCCDDD,但不能同時包含:

<!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA>
      <CCC/> <DDD/>
   </AAA>
   <BBB>
      <CCC/> <DDD/>
   </BBB>
</XXX>

上面示例代碼中,因爲同時包含元素CCCDDD,所以是錯誤的。

元素BBB可以包含元素CCCDDD,但不能同時包含:

<!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA>
      <CCC/> <DDD/>
   </AAA>
   <BBB>
      <DDD/> <CCC/>
   </BBB>
</XXX>