「最近は,いいツールが出てきているから,XMLそのものについて理解しようというエンジニアなんて,そんなにいないのではないですか」

 日経ITプロフェッショナルの3月号で,XMLについて特集を担当することになり,取材を始めた矢先――。XMLに力を入れている(と目される)複数のITベンダーから,冒頭のような意見を聞かされた。出鼻をくじかれたとは,このことだ。なぜなら,今回の特集は「XMLそのものを採り上げ」,「XMLとは何かを知ってもらう」企画だったからである。

確かに「XML入門書」はいくらでもあるのだが・・・

 日経ITプロフェッショナルは,ITエンジニアを主要読者とし,例えばJavaやデータ・ウエアハウス(DWH),CRMといった,普遍的なテーマを真正面から採り上げ,その基本から解説していくのが“売り”の雑誌である。

 今回のXML特集も,「XMLの最新動向」を紹介しようというのではない。ITの進歩は早く,対象も急激に拡大しているため,例えばネットワークのプロであっても,XMLについてはあまりよく知らないということは十分にあり得る。そうした読者でも,XMLについてある程度,理解してもらうという,ITエンジニアにとっての「XML(再)入門書」のような記事を書こうとしていたのだ。

 「XMLの入門書なんて,世の中にいくらでもあるではないか」。そう思っているに読者も多いことだろう。確かに今回,記者もそう考えて,入門書を大量に購入し,じっくりと目を通してみた。だが,どれを読んでも,「モヤモヤ感」がぬぐえなかった。

 記者もXMLについては,それなりに知っているつもりだったが,少なくとも記者が読んだ「XML入門書」の多くは,「XMLについて知識が乏しい初心者向け」に書かれているとは思えなかったのだ。なぜなら,最初の方のページからいきなり「XMLとはメタ言語である」,「XMLはSGMLのサブセットである」といった文章が登場するものが多かったためである。

 XMLについて知らないから入門書を読もうとしているのに,いきなり「メタ言語」や「SGML」といった,「訳の分からない別の言葉や概念」を持ち出されては,余計に混乱するだけだ。メタ言語やSGMLをすでに知っている読者なら,「なるほど」と思える記述でも,知らなければお手上げである。

 多くの入門書が,SGMLやHTMLを持ち出してXMLを説明しているため,普通に読めば「疑問」に思わない人も多いだろう。だが弊誌は,それとは別の方法で「XMLとは何か」を示したかった。

「なぜXMLなのか」「なぜこのような形になっているのか」から出発する

 具体的にいえば,メタ言語やSGMLはおろか,(タグを使うという共通性から,XMLの説明には必ず登場する)HTMLという言葉も使わずに,「XMLとは何か」を解説するという基本線で行くことになった。

 そのすべてを掲載することができないが,ここでは筆者がXMLに対する理解を深める上で重要だと考えたポイントを,例を挙げて説明したい。そのポイントとは,「なぜXMLなのか」「なぜこのような形になっているのか」と考えることである。

 XML文書は例えば,

<出版社名>日経BP</出版社名>
<雑誌名>:日経ITプロフェッショナル</雑誌名>
<発行日>2003/03/01</発行日>
<出版社名>日経BP出版センター</出版社名>
<雑誌名>日経システム構築</雑誌名>
<発行日>2003/03/15</発行日>

といったものだが,なぜ「開始タグ」,「終了タグ」でデータをはさむのか,を疑問に感じたことはないだろうか。

 先ほどの文書を人間が見れば,そのデータ部分が「日経BP,日経ITプロフェッショナル,2003/03/01…」の部分だというのは「何となく想像がつく」。だから,仮に日経BPが「出版社名」で,日経ITプロフェッショナルが「雑誌名」といったことが分かっている相手なら,「タグ名」を付けなくても,内容を理解してもらえるかもしれない。言い換えれば,カンマでデータを区切る「CSV(Comma Separated Value)形式」でデータを送れば十分なわけだ。

 だが,そうでない相手では,個々のデータが何を表すのかは,まるで分からないだろう。だから,個々のデータが何を表すのかを「何らかの形で」1つ1つ付加すれば,データの並び順などを知らない相手であっても,そのデータを処理しやすくなる可能性は高まる。

 「XMLが開始タグと終了タグでデータをはさんでいる」ことには,そうした意味があるのではないか。

疑問を持つことがスキルアップの第一歩

 上記はあくまでも一例であり,今回の特集では,こうした「仮説」をいくつも積み上げて,XML文書の表記法などについて1つ1つ「検証」していった。

 XMLについて,これがベストの説明法かは分からない。すでに十分な知識を持つ人であれば,「わざわざ,迂遠な方法で説明するのは時間のムダ」と思われることだろう。

 だが,そうでない場合は,ここで採り上げたように,タグ記号を使う表記法1つを取っても,なぜそのような表記法が採用されているのかといった「疑問」を持ち,その「理由」を自分なりに考えてみてはいかがだろうか。

 もっとも,これはXMLに限った話ではない。いきなり答えを求めるのではなく,まずは「なぜ」という疑問を持つことが,多くの分野で自らのスキルアップにつながると考えている。

(安倍 俊広=日経ITプロフェッショナル)