2005年07月17日(日)更新
■内容モデルが要素の場合 「複数の子要素の宣言」
たけち: 前回は、内容モデルが要素の場合の要素型宣言の書き方について学んだよね。
さらら: えぇ。
たけち: 今回は、内容モデルが要素の場合の複数の子要素の宣言について学ぼうね。
さらら: は〜い。
■(1)複数の子要素が順番に出現する場合の書き方
たけち: まずは、複数の子要素が順番に出現する場合、どう書くかをみてみよう。
さらら: 二つ以上の子要素がある場合ね。
たけち: うん。次のように書くんだよ。
さらら: えっ〜と。。。子要素名の名前を","(カンマ)で区切って書けばいいのね。。
たけち: その通りだよ。簡単な例で確認してみようね。
さらら: はい。
さらら: 図の例だと、personという要素の子要素にはname、address、そしてmailという要素がこの順番で出現する、ということなのよね。
たけち: そういうことだね。だから、×がついているのは、DTDで宣言した順番とは違っているからダメなんだね。
さらら: mailがaddressの前にあるものね。
■(2)複数の子要素のうち、いずれかひとつが出現する場合の書き方
たけち: じゃあ、次は、複数の子要素のうち、いずれかひとつが出現する場合、どう書くかをみてみよう。
さらら: えっ〜と。。えっ〜と。。
たけち: DTDで宣言した二つ以上の子要素があって、XMLインスタンスでは、それらのうちのひとつだけの要素が出現する場合だね。次のように書くんだよ。
さらら: えっ〜と。。。子要素名の名前を"|"で区切って書けばいいのね。。
たけち: その通りだよ。ここでは、"|"(パイプ)は、「または」という意味で使われていると覚えておこうね。じゃあ、簡単な例で確認してみよう。
さらら: 図の例だと、transportという要素の子要素にはtrain、bus、そしてplaneのいずれか要素が出現する、ということなのよね。
たけち: そういうことだね。だから、×がついているのは、trainとbusの二つが出現しているからダメなんだね。
さらら: わかったわ。
たけち: じゃあ、今回はここまでにして、次回は、出現回数についてみてゆこうね。
さらら: あっ、はい。ありがとね。
→ 次は、要素型宣言(4) です。 (^ ^;