XMLテキストの書き方

2001年5月20日(日)更新


■XMLテキストの基本構成

さらら: 万葉集のDTDのサンプルつくりで、DTDの雰囲気は分かったけど、これをXMLテキストと関係つけなくちゃいけないんだわね。

たけち: そうだね。XMLテキストを作る(2)XHTMLの基本形のところでちょっとだけ触れたけど、ここからはも少し詳しくXMLテキストの書き方を見ていこうね。

さらら: うん。でもゆっくり説明してね。 (^ ^;

たけち: は〜い。わかってます。じゃぁ、XMLテキストの基本的な構成を図で確認してみようね。今までやったこともあるから大体は分かるんじゃないかな。

XMLテキストの基本形

さらら: そうねぇ〜。「XMLの内容」のところと「XML宣言」のところは、これまで作ってきたサンプルに載っているから、知っているわ。「文書型宣言」は、万葉集のDTDサンプルでてきたようにDOCTYPEの後にDTDを書くのね。

たけち: そうそう。「XML宣言」を簡単に説明しておくね。

  • version="1.0" は、xmlのバージョンが"1.0"という意味
  • encoding="文字コード" は、このXMLテキストの文字コードが何かを表わします。ここでのサンプルは"Shift_JIS"を使っています

さらら: 文字コードってほかにはどんなものがあるの?

たけち: え〜っとねぇ・・・・UTF-8, UTF-16, EUC-JPなんかがあるね。XMLの規格では、UTF-8とUTF-16は必ず扱えないといけないことになっているんだ。UTF-8とUTF-16は、どちらも・・・・・

さらら: あっ、ちょっ、ちょっと待って。 (^ ^; なんだかややこしそう・・・

たけち: う〜ん、そうだねぇ文字コードについては別にゆっくり勉強しようね。

さらら: そっ、そうしたほうがよさそうだわ。


■文書型宣言(DOCTYPE)

たけち: じゃぁ、つぎはDOCTYPEで始まる文書型宣言について説明するね。

さらら: だっ、大丈夫かしら (^ ^;

たけち: 大丈夫だよ。ともかく次の図を見てみて。

文書型宣言の基本形

さらら: あらら・・・たくさん書くことがあるのね。ほんとに大丈夫かしら・・・

たけち: そうなんだけど・・・・万葉集のDTDサンプルを作ったときには、要素を定義するときにELEMENTを、属性を定義するときにATTLISTを使ったよね。

さらら: あっ、そうだったわね。。。。。じゃぁ、「エンティティ」ってなぁに・・・??


■エンティティ

たけち: 「エンティティ」っていうのは、XMLの内容の一部になるような情報をもっているものを言うんだ。

さらら: えっ?? なっ、何?? なにか具体的に言ってよ〜。

たけち: う〜ん。たとえばXMLテキストの中に何度も繰り返して出てくるような文字列があったとするね。その文字列をひとつのまとまりとして何度も使えるように指定することができるんだ。そうしたときにそれを「エンティティ」って言うんだよ。

さらら: うぅ〜、もっと具体的に見せて〜。

たけち: じゃあ、つぎの図を見てね。messageに三つのpがあるんだけど、それでは(^ ^)(T_T)がエンティティとして宣言されて、それぞれのpで使われているんだ。

エンティティの宣言と参照

さらら: へぇ。。。エンティティを使うときには、&sad;って書くのね。

たけち: そうそう。&(アンパッサンド);(セミコロン)エンティティ名を囲むんだね。これをエンティティ参照って言うんだ。

さらら: そうなんだ・・・

たけち: このサンプルを次に載せておくからクリックしてみて。あっ、XSLは指定していないから、構造とテキストが見えるだけど、ちゃんとエンティティ参照されて文字列が入った結果が見えると思うよ。

エンティティ参照のサンプル: message.xml

表示結果

さらら: あっ、見えた見えた。へぇ〜、エンティティねぇ〜。なんとなくだけど分かったような気がする。

たけち: まだ説明は終わってないけど、今回はここまでね。

さらら: ありがとね。

→ 次回は、XMLテキストの書き方: 外部エンティティです。・・・ (^ ^;