目次へ

4.3 #PCDATA

テキストデータを内容に含む場合は、以下のように要素型宣言中に”#PCDATA”と記述します。

<!ELEMENT 要素名 #PCDATA  >

内容にテキストデータのほかに子供要素も含める混在内容のときは、以下のように要素の指定の前に、”#PCDATA”と記述します。

<!ELEMENT 要素名 (#PCDATA, 要素の指定) >

以下に例を示します。

<!ELEMENT p (#PCDATA|b|i)*>

以上のようにp要素を宣言した場合、以下のXML文章は妥当です。

<p>今日は<b>とっても</b>よい<i>天気</i>です。</p>

4.4 EMPTYとANY

要素には、内容となるものが全く存在しないものがあります。これを空要素といい、以下のように"EMPTY"と記述し、宣言します。

<!ELEMENT 要素名 EMPTY> 

空要素は、空要素タグにより記述できます。また、「テキストを含め、DTDで宣言されている要素なら、どんなものでも、どんな順番でも、記述してよい」という要素を任意要素といいます。任意要素は、以下のように"ANY"と記述し、宣言します。

<!ELEMENT 要素名 ANY > 

例を示します。

<!DOCTYPE root [
<!ELEMENT root ANY>
<!ELEMENT son #PCDATA>
<!ELEMENT daughter #PCDATA>
]>

以上のように定義した場合、以下のようなXML文書が可能になります。

<root>
  この文書は<son>妥当な</son>XML文書になります。
  <daughter>はい、そうです。</daughter>

</root>

4.5 まとめ

  • 要素型宣言では、要素の名前と内容モデルを宣言します。
  • 要素の直下の子供要素の構造や、テキストデータの有無などを内容モデルで指定します。

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp