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も、決められたタグや属性を使って作成することで、カルテ内に表示する内容をカスタマイズできるのです。