WWW INFOMATION
XML top >>DTD仕様詳細 要素タイプ宣言と内容モデル

要素タイプ宣言と内容モデル

 要素タイプ宣言は、以下4つのモデルに分類されます。
  1. 要素内容
  2. 混在内容
  3. EMPTY内容(空要素)
  4. ANY内容(任意要素)
 以下、各モデルの定義と例を示します。

・要素内容

意味 子の要素にデータがなく、要素のみからなる。
記述例 <!ELEMENT A(B,C*)>
正しい表記 <A>
  <B></B>
  <C></C>
</A>
<A>
  <B></B>
</A>
<A>
  <B></B>
  <C></C>
  <C></C>
  <C></C>
</A>
誤りの表記 <A>
  <C></C>
</A>
<A>
  <B></B>
  <B></B>
  <C></C>
</A>
 

・混在内容

意味 子の要素がデータと要素からなる。
記述例 <!ELEMENT A(#PCDATA|B|C)*>
正しい表記 <A>
  データ
  <B></B>
  <C></C>
</A>
<A>
  <B></B>
  <C></C>
  データ
  <B></B>
  <C></C>
</A>
<A></A>
誤りの表記 ---    

※「(A|B)*」というような内容モデルの指定は、どのような順番で、何回A,Bを書いても(書かなくても)良いことを意味する。

・EMPTY内容

意味 要素を持たない要素宣言。
記述例 <!ELEMENT A EMPTY>
正しい表記 <A/> <A></A>  
誤りの表記 <A>データ</A>    

・ANY内容

意味 どのような記述でも良い。
記述例 <!ELEMENT A ANY>
正しい表記 ---    
誤りの表記 ---    

※B要素、C要素の定義がされている場合、<!ELEMENT A ANY>の記述は、
<!ELEMENT A(#PCDATA|B|C)*>の記述と等しい。

戻る   進む