XML (eXtensible Markup Language)

1999.02.20 biac
INDEX
  1. XML アプリケーションの サンプル
  2. HTML の 限界 - XML の 誕生
  3. XML は 文書であり データである
  4. XML のための インフラ
  5. XML を 利用する - XML パーサ
  6. XML の 将来
  7. 業界の応答

XML アプリケーションの サンプル

まずは、 XML を使ったサンプルを ご覧ください。

sample01
※ IE4.01SP1 (以降) でないと、 動作しません。

これは、 最初に表示されるときに、 データを全て受け取ってしまいます。 その受け取るデータが、 XML なのです。

そして、 [登録順] ・ [名前(ふりがな)順] ・ [メールアドレス順] という リンクをクリックされたときには、 JavaScript が動作して、 表示を変更します。 この JavaScript も、 最初に表示したときに、 ブラウザが受け取っています。

ためしに、 ブラウザをオフラインにしてから、 リンクをクリックしてみましょう。 最初に表示したときに 全てを貰ってきていますから、 自由に表示を切り換えられます。

一番右の [XML ソース] だけは、 最初に持ってきていませんから、 「オフラインでは利用できません」 と 警告されます。

データを一度にもらってきて、 並べ替えなどの加工はブラウザで行うことができる。 これが XML の威力の一つなのです。

INDEX ↑

HTML の 限界 - XML の 誕生

HTML の 限界 = 決められたタグしか使えない

    SGML (1986) ---------+ - - - - - -> ?
      |                  |
      |                  +---> XML (1997)
      |                         ^
      v                         |
      ----> HTML (1992) --------+------->
 

XML = (簡略版 SGML) + (HTML の長所 ... URL 利用など)

XML は、 独自のタグを設けられる体系的な枠組み です。

XML では、 DTD (Document Type Definition - 文書型定義) を記述して、 どのようなタグや属性が使えるのかを、明確にすることもできます。 → DTD の サンプル

INDEX ↑

XML は 文書であり データである

ここでは、

...とします。

データとしての XML は、上のサンプルの XML ソース で紹介しました。 (これも、 見れば分かりますから、 文書であるとも言えます。)

普通の文書を書くときに XML を使用すると、 プログラムで処理しやすいという XML の特性を生かしたものになります。

出版の多様性
プログラムで処理して、 印刷物として配布 ・ HTML にして WWW や CD で 配布 ・ 朗読システムを通して音声再生 といったことが可能です。
的確な情報検索
文書に適切な論理構造を作りこんでおけば、 的確な検索が可能です。 例えば、 吉野さんを検索しようとしたら、 地名の吉野が検索されてしまった、 ということを無くせる可能性があります。
派生文書の自動生成
例えば、 それぞれの文書に要約がついているとき、 複数の文書の要約を集めることは、 簡単に実現できるでしょう。

また、 ワードプロセッサで作った文書とは、 つぎのような違いがあります。

XML 文書 と ワードプロセッサ文書 の 比較
( 「XML 入門」 (村田 真 編著) より 引用 )
XML 文書ワードプロセッサ文書
論理構造の導入 と レイアウト情報の分離 レイアウト情報と混在した 不明瞭な論理構造
論理構造のテンプレート 有り 論理構造のテンプレート 無し
特定のコンピュータやソフトウェアに依存しない テキスト形式 特定のコンピュータやソフトウェアに依存する バイナリ形式
INDEX ↑

XML のための インフラ

いくら良いものであっても、 それを利用するためのインフラが無ければ使えません。 幸いなことに、 2大ブラウザが 次のバージョンで対応することを 表明しています。

Netscape Comunicater Ver.5
ZDNET の 記事 より引用
『 W3C 規格準拠: CSS, HTML4, DOM1, RDF, XML と, 最新のインターネット標準をすべてサポートしている』
Internet Explorer Ver.5
ZDNET の 記事 より引用
『 IE 5.0 では, XML 1.0, DOM(Document Object Model), ならびに XML ドキュメントのデータにアクセスしてブラウザで表示するための W3C 定義の API がサポートされる。』

これにより、 XML 文書を直接ブラウザに表示させることができるようになります。 また、 ブラウザで動作するアプリケーションも、 もっと自由に、 もっと複雑なものを作ることが可能になるでしょう。

上のサンプルでは、 XML のファイルを直接ブラウザに表示させると、 じつは 見にくいもの に なってしまいます。

ブラウザが対応していれば、 この XML ファイルに XSL (eXtensible Stylesheet Language) というスタイル情報を書き加えることで、 見栄え良く表示することができます。

INDEX ↑

XML を 利用する - XML パーサ

では、 プログラムから どのようにして XML の 文書/データ を 扱うのでしょう。

プログラムごとに XML を解釈する関数を書くのでしょうか? それでは、 他にいろいろあるデータ形式と、 なんら違いはありません。

そこで登場するのが、「XML パーサ」 です。

    +------------+      +------------+      +-----------------+
    | プログラム | <==> | XML パーサ | <==> | XML 文書/データ |
    +------------+      +------------+      +-----------------+

XML は、 一定の規約にのっとって書かれていますから、 汎用の解釈プログラムである XML パーサ を 一度書いてしまえば、 使いまわしができるわけです。

XML パーサ は、 ブラウザに組み込まれたものもあれば、 独立したプログラム (OLE サーバ形式など) であることも、 汎用のサブルーチンであることもあります。

XML パーサ は、 すでに Microsoft や IBM など、 あるいはそのほかのデベロッパが開発し、 すでに配布も始まっています。

実は、 すでに IE4 には、 XML パーサが組み込まれています。

上のサンプルの動作が IE4 に限定されるのは、 その組み込みパーサを利用しているからなのです。

INDEX ↑

XML の 将来

XML の利用は、 すでに始まっています。

Microsoft は、 早くから取り組みを始めており、 IE4 の 「チャンネル」 は、 CDF (Channel Definition Format) という XML で 定義されています。 ( *.cdf で 検索して見てください。)
なお、 CDF は、 PointCast にも採用されています。

これからは、 さまざまな分野で XML が利用され、 いろいろなアプリケーションが登場してくるでしょう。

複数のデータベースを連携させるアプリケーション
薬品DB と 許認可DB の 連携
法律DB と 判例DB の 連携
部品DB と 在庫DB の 連携
クライアント側で計算をするアプリケーション
半導体のデータシート と 設計支援アプリケーション を クライアントに送る
商品リスト と 選択支援アプリケーション を クライアントに送る
自動的に情報を選択するアプリケーション
プッシュ配信 (PointCast など HTML の配信や、 プログラムの自動配信など)
条件を伝えると、 それに見合った商品データを探し出してくれる、 エージェント アプリケーション。
自分の好みを入力しておくと、 ケーブルテレビの番組データから、 好みに合った番組を選択してくれる エージェント。

上で示したサンプルは、 クライアント側で計算をするアプリケーション の、 ごくごく初歩的なものにすぎません。

なお、 DB の連携には、 HTML よりはるかに強化された XML のリンク機構が 役立ちます。

INDEX ↑

業界の応答

XML ほど、 急速に業界に受け入れられた標準というのは、 他に無いのではないでしょうか。

1997年 12月 8日に、 XML Ver.1 が W3C の勧告として出されて 1年ちょっとですが、 ぞくぞくと業界の対応が始まっています。

Microsoft
すでに IE4 に XML パーサを搭載するとともに、 XML を使ったプッシュ技術を取りこんでいます。
プログラムを自動的にインストールする技術 OSD (Open Software Description) を、 中心となって推進しています。
Office 2000 では、 XML 文書が 作成できる ようになります。
IBM
XML パーサ や、 その他の技術を精力的に開発し、 公開しています。
DB2 で、 年内に XML 対応 を 実現すると伝えられています。
Oracle
Oracle8i で XML サポート する。 XML フォーマットで出力できるだけでなく、 格納するときに XML ドキュメントを自動的に解析することもできるという。
Lotus
すでに見えないところでは XML を使い始めており、 Notes の次のバージョンでは、厳密に XML 対応になる という。
ジャストシステム
今春リリースされる予定の Java 版 一太郎Ark は XML をサポートします。
OASYS (富士通)
OASYS Ver.6 は XML 対応
CII (産業情報化推進センター)
JIPDEC (財団法人 日本情報処理開発協会) の付属機関である EDI 標準化団体 CII (産業情報化推進センター) は、 XML による EDI (Electric Data Interchange = 電子データ交換) を ドラフトとして提案しています。
なお、 CII の 会員企業 には、 日本アイ・ビー・エム、 トヨタ自動車など、 有力な企業が加盟しています。
NTT データ が XML 対応の EDI システム
XML を採用した EDI (電子データ交換) システムの 「Web-EDI (XML対応) システム」 を発表。 4月にパッケージとして発売するという。
XML 文書対応インターネット電子申請システム (通産省)
通産省からの出資を受け、 財団法人ニューメディア開発協会が開発した XML 文書対応インターネット電子申請システム の実証が始まった
XMLベースの文書管理システム 「ラ・クルール/ヴェール」 (テンアートニ)
テンアートニは、 XML ベースの文書管理システム 「ラ・クルール/ヴェール」 を 発売。 電子会議システムとしての利用も想定しているという。 → 別記事
XML データ処理ソフト iPEX (インフォテリア)
データ処理ソフト 「iPEX」 を インフォテリア が発売。 異なる業界が個別にデータ型定義を決めていても、 電子商取引を容易に実現できるといい、 NTTデータなど 3社が採用する見通しだという。
XML ゲートウエイ・ソフト 「B2B Integration Server Ver2.0」 (東芝アドバンストシステム)
業務データの共有を可能にする XML ゲートウエイ・ソフトを 東芝アドバンストシステムが発売。 業務システムのデータを XML データに変換し、 異なる業務システムを導入している企業間で インターネットを介して共有できるという。
データ放送
BS ディジタル放送における、データ放送の仕様は XML が 最も望ましい標準仕様と決定された。 ( これは、 MHEG-5 という有力な規格も標準とされたので、 どちらが実際の標準になるかは、 まだ不明。 )
IC カード
日立と富士通が、 IC カードの標準化プロジェクトを発足させた。 決済プロトコルの取引メッセージとして XML が利用されるみこみ だという。
INDEX ↑

参考文献

本稿の執筆に当たっては、 この本を参考にさせていただきました。

XML 入門
村田 真 編著 / 日本経済新聞社 1998年1月7日発行 / ISBN4-532-14640-0
INDEX ↑

リンク

XML を 使ったページ
ピーデーのビジュアルノベルページ の中の 「デモンストレーション」
XML ユーザーグループ
日本XMLユーザーグループ
XML に関する有用なリンクは、 ここからたどることができます。 なお、 それらのリンク情報は XML で管理されています。
INDEX ↑