いまさら聞けないWeb2.0時代のXML入門いまさら聞けないリッチクライアント技術(1)(2/3 ページ)

» 2007年06月19日 00時00分 公開
[江原顕雄@IT]

そもそも「XML」ってどういう意味?

 略語系の技術用語は「何を略しているか?」を知ることが大切です。XMLは何の略なのか見てみましょう。「Extensible Markup Language」の頭文字を取ったものがXMLです。日本語にすると、「拡張マークアップ言語」です。拡張できるマークアップ言語なんですね。……これではまったく分かりませんね。さらに「マークアップ言語」という技術用語が新たに出てきました。

 マークアップ言語はXMLを理解するうえで非常に大切な要素です。まずは、マークアップ言語とは何か? について簡単に解説します。

いま、そこにある「マークアップ言語」

 マークアップ言語は毎日皆さん見ているはずです。現に、いまこうやって見ているのですが……。

 ブラウザの「表示」→「ソース」を選択すればマークアップ言語が出現してきます。そう、Webサイトに使われるHTMLもマークアップ言語なのです(HTMLはHyperText Markup Languageの略です)。

 もともと「markup」は印刷用語で「組版指示」という意味です。つまり、「ここの部分を太字に」とか「ここのフォントはこのサイズで!」という指示をすることをマークアップといっていたのです。

 では、ネット上に出てくるマークアップはどういう意味かというと、「組版指示」とほぼ同じ働きをしています。「タグ」という文字列を使って、テキストを囲みます。タグには文章の構造指定や文字の情報、データのラベルなどを指定していきます。先ほど見たHTMLの例に出してみると……、

HTML文章のソース
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
    <title>タイトルが入ります</title>
    </head>
    <body>
        ここに文章がはいります。<BR>
        <B>太字のテキストです</B><BR>
        <font color=green>緑色のテキストです</font>
    </body>
</html>

 指示を与えたい個所を、<>で囲んでマークアップしていきます。「この文章はHTML」という宣言や、「ここは太字にする」「ここは赤字にする」などの文章の組版指定をしていきます。

 XMLもマークアップ言語なので、HTMLソースと見た目は非常に似ています。実際にXMLのソースをちょっと見てみましょう。

XML文章のソース
<article>
    <title>XMLドキュメントです</title>
    <content>ここに文章がはいります。</content>
    <template_stub/>
</article>

 HTMLのタグは決められたものしか使えません(ユーザーが自由に設定したら、ブラウザがきちんと解釈できなくなります)。しかし、XMLはユーザーが使いたいタグを自由に設定できます。

 XMLを「拡張(ができる)マークアップ言語」と最初に説明しました。この「拡張できる」というのは「ユーザーが自由にタグを設定できる」という意味を指しているのです。

 HTMLはネット上で文章を公開するときに使いますが、XMLはどんな目的で利用されているのか、どんな利点があるのか? 見ていきましょう。

XMLはどんな場面に使うの? 何が便利なの?

 XMLを使う目的は「データを記述する」ことにあります。データとは住所録でもいいですし、商品在庫の管理表、iTunesの音楽リスト、サイトの更新された部分の情報…… などです。

図5 iTunesのライブラリデータ 図5 iTunesのライブラリデータ

 しかし、データを記述する形式はXMLだけではありません。CSV形式、Microsoft Excelのxls形式、Microsoft Accessのmdb形式、Lotus 1-2-3などなどたくさんあります。データを記述する形式がさまざまある中、なぜXMLが選ばれているのか? その利点について見ていきましょう。

XMLの利点 その1「データが分かりやすい」

 Excelで作成したxls形式のデータはExcelがないと、mdb形式のデータはAccessがないと、閲覧・編集ができません。しかし、XMLはテキスト形式で記述されているので、特定のアプリケーションがなくても使用できます。

 また、タグで各データに要素が付け加えられているので、XMLデータを見たときにそれが何を意味しているか、分かりやすく加工がしやすいのです。この利点は同じテキスト形式のCSVと比較とすると分かりやすいので見てみましょう。

 CSV形式で例えば住所録を記述すると、以下のようになります。

CSV形式の例(住所録)
跡真握 リチ子,100-0000,東京都千代田区丸の内9-9-1,03-9999-9990
愛亭 帳子,100-0000,東京都千代田区丸の内9-9-2,03-9999-9991

 名前や郵便番号、住所が書かれていると分かりますが、これが「住所録」のデータだから推測ができるわけです。が、もし在庫の管理表など、ひたすら数字が書かれていたら、何だか分かりませんね。

CSV形式の例(在庫の管理表)
ネットでライフハック,998,159,4844323776,4844323776,17.2x11.8x1.68,インプレスR&D

 など書かれていたら、数字の部分はまったく意味が分かりません。上記のデータをXMLで記述すると……、

XML形式の例(在庫の管理表)
<BookData>
    <Ttitle>ネットでライフハック</Title>
    <Price>998</Price>
    <Page>159</Page>
    <ISBN-10>4844323776</ISBN-10>
    <ISBN-13>4844323776</ISBN-13>
    <Size>17.2x11.8x1.6</Size>
    <Publisher>インプレスR&D</Publisher>
</BookData>

 このように記述すると、データの要素が何を示すかが一目で分かります。

 また、要素が分かるだけでなく、例えばデータの項目を追加するときも、XMLは非常に便利です。CSV形式だと列の順番で判断するので、C列とD列の間に新しくデータを入れるのは大変ですが、XMLは要素で判断するので、手軽にデータの追加や並べ替えができるのです。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。