XMLとは何か

XMLファイル

XMLファイルは、テキストファイルの一種です。 拡張子は.xmlです。 ファイルの内容が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も、決められたタグや属性を使って作成することで、カルテ内に表示する内容をカスタマイズできるのです。