XMLとは何か
XML
以下はXMLの一例です。
<people>
<person>
<name>山田 太郎</name>
<age>10</age>
<address>東京都練馬区</address>
</person>
<person>
<name>川上 花子</name>
<age></age>
<address>東京都練馬区</address>
</person>
</people>
XMLは情報を構造化する表現手法です。XMLはタグ、属性、データで構成されています。次はこれらの要素を説明していきます。
タグ
タグとは、 <○○>
と </○○>
のように、<>で囲まれたものを指します。 <○○>
は開始タグ、 </○○>
は終了タグ(スラッシュ「/」がついているかいないかの違い)と呼ばれます。開始タグと終了タグは必ずワンセットになっており、 <○○>xx</○○>
のように、開始タグと終了タグでxxを囲っています。タグに囲まれたxxはデータと呼ばれます。
タグはデータの”意味”を表します。例えば <name>山田太郎</name>
は、 山田太郎
というデータの意味は name
、つまり名前であるということです。
<name>山田 太郎</name>
<age>10</age>
<address>東京都練馬区</address>
このXMLが意味するのは、山田太郎がname(名前)、10がage(年齢)、東京都練馬区がaddress(住所)であるということです。
タグの中にタグを入れることもできます。
<person>
<name>山田 太郎</name>
<age>10</age>
<address>東京都練馬区</address>
</person>
一行目の <person>
が開始タグ、最終行の </person>
が終了タグです。このタグの中(データ)には <name>
、 <age>
、 <address>
が入っています。
このXMLが意味するのは、nameやageやaddressをデータとして持つperson(個人)である、ということです。わかりやすく言い換えると、山田太郎10歳東京都練馬区在住の個人が一人いる、となります。
タグはいくらでも入れ子にできます。
<people>
<person>
<name>山田 太郎</name>
<age>10</age>
<address>東京都練馬区</address>
</person>
<person>
<name>川上 花子</name>
<age></age>
<address>東京都練馬区</address>
</person>
</people>
<people>
の中に複数の <person>
が入っています。
タグ内のデータが空の場合があります。その場合、開始タグを <○○/>
とすることで終了タグを省略可能です。
<age></age> <!-- データが空のタグ -->
<age/> <!-- ↑の省略形 -->
属性
属性は、タグにもうちょっと詳しい情報を付け加えたいときに使います。
<people>
<person>
<name language="japanese">山田 太郎</name>
<name language="english">Yamada Taro</name>
<age>10</age>
<address>東京都練馬区</address>
</person>
<person>
<name language="japanese">川上 花子</name>
<name language="english">Kawakami Hanako</name>
<age></age>
<address>東京都練馬区</address>
</person>
</people>
language="japanese"
(日本語)ではnameは山田太郎で、 language="english"
(英語)ではnameはYamada Taroであるという情報が付加されています。
このようにXMLは、タグ、属性、データを使って情報を構造化します。
XMLは、どんなところで使われているのでしょうか。ネットワークを介した情報のやりとりや、コンピュータ内で情報を保存する際に、XMLフォーマットを使うことがあります。
タグ名や属性名は誰がどう決めているのでしょうか。実は、タグ名や属性名は、自由に作って使うことができます。ただし、コンピュータ同士がXMLを使って情報やりとりする際に、一方が自由に作ったタグや属性を渡されても、もう一方はその意味を解釈できません。そこで、コンピュータがXMLを扱う際、タグや属性はこういうものを使うよ、それぞれこういう意味だよ、というルールが決められています。そのルールの一つがHTMLです。また、修学カルテXMLも、決められたタグや属性を使って作成することで、カルテ内に表示する内容をカスタマイズできるのです。