そもそも「XML」ってどういう意味?
略語系の技術用語は「何を略しているか?」を知ることが大切です。XMLは何の略なのか見てみましょう。「Extensible Markup Language」の頭文字を取ったものがXMLです。日本語にすると、「拡張マークアップ言語」です。拡張できるマークアップ言語なんですね。……これではまったく分かりませんね。さらに「マークアップ言語」という技術用語が新たに出てきました。
マークアップ言語はXMLを理解するうえで非常に大切な要素です。まずは、マークアップ言語とは何か? について簡単に解説します。
いま、そこにある「マークアップ言語」
マークアップ言語は毎日皆さん見ているはずです。現に、いまこうやって見ているのですが……。
ブラウザの「表示」→「ソース」を選択すればマークアップ言語が出現してきます。そう、Webサイトに使われるHTMLもマークアップ言語なのです(HTMLはHyperText Markup Languageの略です)。
もともと「markup」は印刷用語で「組版指示」という意味です。つまり、「ここの部分を太字に」とか「ここのフォントはこのサイズで!」という指示をすることをマークアップといっていたのです。
では、ネット上に出てくるマークアップはどういう意味かというと、「組版指示」とほぼ同じ働きをしています。「タグ」という文字列を使って、テキストを囲みます。タグには文章の構造指定や文字の情報、データのラベルなどを指定していきます。先ほど見た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のソースをちょっと見てみましょう。
<article> <title>XMLドキュメントです</title> <content>ここに文章がはいります。</content> <template_stub/> </article>
HTMLのタグは決められたものしか使えません(ユーザーが自由に設定したら、ブラウザがきちんと解釈できなくなります)。しかし、XMLはユーザーが使いたいタグを自由に設定できます。
XMLを「拡張(ができる)マークアップ言語」と最初に説明しました。この「拡張できる」というのは「ユーザーが自由にタグを設定できる」という意味を指しているのです。
HTMLはネット上で文章を公開するときに使いますが、XMLはどんな目的で利用されているのか、どんな利点があるのか? 見ていきましょう。
XMLはどんな場面に使うの? 何が便利なの?
XMLを使う目的は「データを記述する」ことにあります。データとは住所録でもいいですし、商品在庫の管理表、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形式で例えば住所録を記述すると、以下のようになります。
跡真握 リチ子,100-0000,東京都千代田区丸の内9-9-1,03-9999-9990 愛亭 帳子,100-0000,東京都千代田区丸の内9-9-2,03-9999-9991
名前や郵便番号、住所が書かれていると分かりますが、これが「住所録」のデータだから推測ができるわけです。が、もし在庫の管理表など、ひたすら数字が書かれていたら、何だか分かりませんね。
ネットでライフハック,998,159,4844323776,4844323776,17.2x11.8x1.68,インプレスR&D
など書かれていたら、数字の部分はまったく意味が分かりません。上記のデータを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.