DTD: 要素型宣言(2)

2005年07月03日(日)更新


■内容モデルが要素の場合

たけち: 前回は、内容モデルが文字列の場合の要素型宣言の書き方について学んだよね。

さらら: えぇ。

たけち: 今回は、内容モデルが要素の場合の要素型宣言について学ぼうね。

ここでは要素型宣言を学びます。

■内容モデル=要素の場合の要素型宣言の書き方

さらら:

さらら: それって、要素子要素を持つってことね。

たけち: そうだね。で、要素の内容が要素の場合には次の3つのことを書くんだよ。

  1. 子要素の名前
  2. (複数の子要素を持つ場合の)子要素の出現順序
  3. 子要素の出現回数

■(1)子要素がひとつ必ず1回だけ出現する場合の書き方

さらら: 3つのことを書けばいいのは分かったわ。具体的にはどう書けばいいの?

たけち: うん。これについては少し話が長くなるけど、ひとつずつ例を見ながらやっていこうね。まずは、一番簡単そうな例として、子要素がひとつだけで、必ず1回だけ出現するの場合、どう書くかをみてみよう。

さらら: あっ、はい。

たけち: 次のように書くんだよ。

内容モデルが要素の場合の書き方(1)

さらら: これって、子要素名で指定した要素が1回だけ出現するってことなのよね。。

たけち: その通りだよ。このことを図で確認してみようね。

さらら: はい。

内容モデルが要素の場合の例(1)

さらら: 図の例だと、personという要素の子要素にはnameという要素が出現するんだけど、それは必ず1回だけ、ということなのよね。

たけち: そういうことだね。ついでに、name要素の内容モデルを前回やったような#PCDATAとした場合のXMLデータ例を確認しておこうね。

さらら: あっ、そうね。。

内容モデルが要素の場合のXMLデータ例(1)

さらら: ×がついているのは、name要素以外のmail要素があるからダメなのね。これで分かったわ気がするわ。

たけち: じゃあ、今回はここまでにして、次回は、複数の子要素の宣言についてみてゆこうね。

さらら: あっ、はい。ありがとね。

→ 次は、要素型宣言(3) の予定です。 (^ ^;