2000年10月22日(日)更新 |
■「万葉集テキスト」のDTDを考えましょう: その2「属性」の定義の仕方
さらら: 今回は「属性」の書き方を教えてくれるんでしょ。 たけち: うん。ここでもう一度「歌の属性」にはどんなものがあるかを図で確認してみようね。黄色で囲ったところだよ。 |
さらら: あっ、そうそう。思い出したわ。。。。えっと・・・歌の種類は、雑歌や相聞歌があって、歌番号は1から4516で、作者名は、たけちとか私とか・・・ (^ ^; たけち: そうそう。さららが言ったようなことを次の図にまとめておくね。それぞれの属性がどんな種類なのかを見ておかないとXMLとして定義できないんだ。 さらら: 種類って? たけち: (任意の)文字列とか、ある決まった情報の並びの中から選べる「列挙」とかの種類のことで、XMLでは、「データ型」って言われているんだよ。 さらら: でも、図を見ると「歌の種類」も「作者」も単なるテキストで変わらないように見えるんだけど。 たけち: そうなんだけど、「歌の種類」はごく限られているだろ? だから、「雑歌・相聞歌・・・」の中から選ぶように「列挙型」にしておくと良いよね。こうしておくとたとえば、XMLテキストの「歌の種類」の記載に間違いがないかどうかプログラムで判断できるよね。 さらら: あっ、そっか・・・ |
■XMLテキストに出てくる属性をあらわす「属性宣言」
たけち: 「要素宣言」は次のように書くんだ。 <!ATTLIST 要素名 属性名 属性のデータ型 デフォルト値> たけち: どの「要素」にはどんな名前の「属性」があって、それはどんな「データ型」なのか、っていうことをこれで定義しているんだよね。 さらら: 「デフォルト値」ってなぁに? たけち: DTDに沿って作成された実際のXMLテキストで、その属性が書かれていなかったときに、"この属性が書かれていなかったときにはこの「デフォルト値」が書かれていると思ってください"っていう意味なんだ。 さらら: へぇ〜。そうなんだ。じゃあ、この「デフォルト値」を持つ「属性」だったときは、XMLテキストに書かなくていいのね。 |
たけち: じゃあ、どんな風に書くのかを次に載せておくね。
さらら: う〜ん。。。具体的にはどうなるの? たけち: じゃあ、額田の歌の例を載せておくね。 |
たけち: この「歌」をXMLテキストにしたときの例は次のようになるんだ。
さらら: あっ、やっと分かった気がするわ。 たけち: よかった。(^ ^; → 次回は万葉集のDTDサンプルです。 |