マークアップ言語「XML」

XML
用途構造記述
実行
日本語
対応環境汎用
入手仕様書は無償

やった! アイドル到来だ!

正式名称は「Extensible Markup Language (拡張可能なマーク付け言語)」。

データの構造を表現するための言語である SGML の後継に当たります。 技術的には、SGML を実際に利用するために必要な「SGML 宣言」だけ 済ませたものです。SGML の機能の中であまり使われないものや 処理の大変なものを省いた「ダイエット版 SGML」として使えるようになっています。

XML の仕様では、さらに、重要な機能をいくつか追加しています。 ここ数年のインターネット普及を受けて、XML ではハイパーリングなどが 最初から考慮されているほか、SGML では欠かせなかった「文書型宣言」を あえて行わないという使い方もできるようになっています。というのは、 SGML には「存在することが明らかなタグを省略できるようにする」という機能が あるのですが、XML ではタグの省略は禁止されたことによります。 これは元々「省略されているタグを推測するのはプログラム処理が大変」という 理由からなのですが、タグが省略されなければ文書型定義を見なくても 文書の大まかな構造はわかってしまいます。これを利用して、従来の SGML 文書がもつ 「文書型定義されていない要素は使えない」という制限をなくすことができたのです。

XML が注目されるにつれ、XML を利用するためのソフトウェアなどが 揃いつつあり、仕様が複雑で対応ソフトウェアも少なかった SGML には 達成できなかったけれど XML の到来でやっと実現のめどがついた、という話も 少なくありません。XML 関連の標準仕様を 作成している World Wide Web Consortium (W3C) では、企業などから提案されたものを 含めて数多くの関連仕様が公開・作成されています。どれも、 柔軟で使いやすい XML をさまざまな場面で活用する方法を模索するものです。

一般ユーザーにも利点

一般のユーザーが XML を使う場合も、すぐにとは言えませんが、いろいろな利点があります。

ウェブ上の文書とそれ以外のデータを同じように扱える
XML では両者を区別する必要がありません。XML で表したデータを そのままウェブページとして公開したり、ページとして作ったつもりの文書を 後でデータベースとして活用したりすることもできます。
データ形式の変換が容易になる
XML で表されたデータはすべて「ツリー構造」を持っています。 XML を使った形式同士なら、互いに変換するのは比較的易しいでしょう。 XML を中間言語 (変換途中の媒介役) として使うことで既存の形式間の変換を やりやすくしている XML ブックマーク交換言語 (XBEL) のような 例もあります。

今後明らかになる XML の真価

XML といえども万能ではありません。XML も「道具」ですから、適さない場面で 使えば逆効果になることもあります。例えば、XML はテキスト形式なので、 あまりに巨大なデータの場合には処理が重くなることもあります。 関連仕様のいくつかがまだ作成中であるという点も無視できません。

とはいえ、XML の真価はまだまだ評価中の段階です。役に立つのか立たないのかは、 今後の普及次第だといえるでしょう。

XML 関連の主なサイト

総合的に情報収集するなら

XML.com [英語]
対応ツールやイベントのレポートなど、XML に関する最新のトピックが提供されている。XML 文書の正当性を検査するサービスも。
d e v h e a d -- XML [英語]
アメリカ ZDNET の XML 専門コーナー。入門用テキストから最新ニュース、関連製品のレビューまで多彩な記事が読めます。
IBM XML Web Site [英語]
その名の通り、IBM の XML 専門サイト。入門テキストやリンクなどがあります。
日本 XML ユーザーグループ
XML 関連の情報を効率よく紹介している、川俣晶さん主催のユーザー団体。

仕様書やリファレンスを読むなら

World Wide Web Consortium [英語]
XML の規格を作った組織。仕様書が手に入るが、日本語で読みたい場合は後述の SGML/XML Cafe へ。
SGML/XML Cafe
日本で SGML 時代からこの分野に携わってきた富士ゼロックスのサイト。XML の仕様書や FAQ の日本語訳が読める。XML 関連のトピックもたまに紹介される。

XML を研究している人たちの考えを知るには

XML/SGML サロン
XML 解説書のひとつ、『標準 XML 完全開設』の著者である、日本ユニテックのサイト。この本は、値段の割には分厚くて内容もわかりやすいので、XML の入門書としておすすめ。が、サイトの方は工事中が目立つ。
Local Index of Ohshima's Resource (Japanese)
XML のほか TeX や Mule などにも詳しい大嶋康裕さんのサイト。かなり「面白い」ひとらしい。

Java との連携について知るには

IBM alphaWorks [英語]
Java で XML 文書を扱うためのクラスライブラリ「XML for Java」をはじめ、Javaで実装したXMLツールが多数公開されている。

既存の文書型定義について知るには

SCHEMA.NET [英語]
文書型定義や実体定義を集めたサイト。DTD を書く人のための記事もあります。
Channel Definition Format (CDF) [英語]
Microsoft が提唱する「チャンネル定義フォーマット」。ウェブサイトの作成者が、更新間隔や内容の情報を見る人のユーザーエージェントに渡すためのもの。いわゆる「Push 型」の情報公開が可能になる。
Specification for the Open Software Description (OSD) Format [英語]
MicrosoftMarimba が提唱する、ソフトウェアをオンライン配布するためのデータフォーマット。Microsoft 製のインストーラには採用され始めている。僭越ながら、僕がつくった簡易リファレンスもよろしく。
XBEL
--> 「XBEL」の項を参照。

このほかにもご存知の方は、ご一報ください



Presented by 夏鰯 <sardine@toyfish.net>