W3Cスキーマに対抗するXMLの新仕様「RELAX NG」

2001/11/9

 XML文書の構造を記述するスキーマ言語は、XMLでビジネス文書を記述するのに不可欠なものだ。1998年にXML 1.0と同時に発表されたスキーマ言語「DTD」は、現在さらに強力な機能を持つ「XML Schema」と呼ばれるスキーマ言語の発表によって置き換えられようとしている。

 とはいえ、XML Schemaはさまざまなビジネス文書の要求を、1つの仕様で早急にかなえようとした結果、あまりに複雑で巨大になりすぎた、という声が多い。こうした声にもかかわらず、XML SchemaはW3Cの下で、XMLにかかわる主要ベンダの技術者が制定作業を行った仕様であるため、標準仕様の1つとしての地位を確立しつつある。

2001 XML JAPANで講演するクラーク氏。同氏は、XML 1.0の仕様策定で重要な役割を果たした

 この現状に一石を投じるのが、W3Cとは異なる業界団体OASISで標準化が進められている、XMLの新しいスキーマ言語「RELAX NG」(リラクシング)だ。都内で11月8日に行われたXMLのイベント「2001 XML JAPAN」の基調講演では、このRELAX NGの標準化をOASISで行っているThai Opensourceのジェームス・クラーク(James Clark)氏が登場。W3CのXMLスキーマの問題点などを鋭く指摘した。

 クラーク氏は、XML 1.0の仕様策定にかかわったメンバーの1人。XMLがこれほど成功した要因を、仕様がモジュール化されていたためだと分析する。「XMLの仕様を策定しているとき、想定されていた分野は電子出版だった。しかし、いまでは電子出版はXMLの用途のごく一部にすぎない。もともと電子出版用に開発されたXMLが成功したのは、シンタックス(文法)とセマンティックス(意味)を分割したからだ」(クラーク氏)。

 つまり、XML 1.0の仕様で決められているのはXMLを記述する方法(つまり文法)だけであり、その文書がどのような意味を持つのかは、そのXML文書を処理するアプリケーションの責任になっている。このように、仕様がカバーする範囲を明確にし、それぞれの仕様をシンプルにした結果が、XMLの成功要因だとした。

 一方でクラーク氏は、W3Cが発表したスキーマ言語XML Schemaは、そうしたモジュール化が行われていないと指摘。いくつかの例の1つとして、データタイプに言及した。XML Schemaでは、XML文書が扱えるデータ型として、整数型、浮動小数点型から日付型、時間型まで豊富に用意している。しかし、日付や時間といった構造を持つ複雑なデータはアプリケーションごとにそのニーズが変わるため、基本仕様からは別モジュールにすべきだという。「XML Schemaの日付型や時間型は、SQLとの親和性のために無理やり追加された型だ。こうしたデータ型は基本仕様から切り離して(アプリケーションごとに)別々に存在するべきだ」(クラーク氏)。

 RELAX NGでは、コアとなるデータ型は仕様の中で定義されているが、そこから拡張して利用者がデータ型を自由に定義できるようになっている。

 また、XML Schemaの仕様があまりに巨大なため、XFormのようなXMLの周辺仕様では、XML Schema仕様の一部だけを自分の仕様の中に取り込むようになっており、一貫性のないモジュール化があちこちで勝手に進む問題も指摘した。

 クラーク氏は、XMLの成功によって、モジュール化の重要性が増している現在、XMLの能力をさらに活用するには、スキーマ言語のような基本仕様こそ慎重にモジュール化されるべきだとし、XML Schemaが持つ複雑で非モジュール化されたスキーマ言語の問題を解決するには、RELAX NGを使うべきだとした。


 アットマーク・アイティでは、ジェームス・クラーク氏へインタビューの機会を得た。

――RELAX NGを作ろうとした動機は、XML Schemaのモジュール化の問題のためですか?

クラーク氏 それはあくまで理由の1つ。XML Schemaは巨大で複雑だという問題もある。XMLは、冷蔵庫やCDプレイヤーといった組み込み機器にまで使われる可能性があり、それを考えるとXML Schemaはあまりにも巨大な仕様だ。XMLは、SGMLの重要なところだけを残したことで成功した。RELAX NGも同じ考えで作っている。

RELAX NGは、村田真氏(右)が中心となって開発されたスキーマ言語RELAXと、クラーク氏(左)が開発したスキーマ言語TREXを統合し、改良したもの。シンプルで分かりやすく、柔軟な機能が特徴だ。村田氏も、XML 1.0に貢献した人物

――RELAX NGは普及するでしょうか?

クラーク氏 ソフトウェアの実装作業は並行して行っているため、動作するソフトウェアはある。XML Schemaは、IBMやマイクロソフトのようなビッグカンパニーがサポートしているから普及するかもしれないが、RELAX NGも選択肢の1つになればいいと思っている。XML Schema以上に普及するかどうかは分からないけれど(笑)。

――RELAX NGの最終仕様はいつごろ、どのようにして発表されますか?

クラーク氏 現在、標準化のための業界団体OASISのRELAX NG技術委員会で、制定作業を行っている(この委員会の議長はクラーク氏自身)。11月末には、その技術委員会から正式な発表がおこなわれる予定だ。

――RELAX NGが発表されたあと、次は何をされますか?

クラーク氏 RELAX NG1.0のあとは、XML文書の参照整合性をチェックする仕様について作業を開始する予定だ。XML文法で記述され、RELAX NGと一緒に動くようなものになると思う。まだまったく作業をしていないため、これからの話だ。

(編集局 新野淳一)

[関連リンク]
RELAX NG日本語ポータル
RELAX NG 入門
OASISのRELAX NG技術委員会(英語)
OASIS
W3C
Thai Opensource

[関連記事]
初のXML技術者認定制度が誕生(@ITNews)
XMLの父が分裂したBtoBの統一を語る(@ITNews)
XML対応を進める各社 (NewsInsight)
インフォテリアがXMLスキーマ設計ツールを出荷 (@ITNews)
浸透し拡散するXML (XML eXpert eXchange)

 

情報をお寄せください:

アイティメディアの提供サービス

ホワイトペーパー(TechTargetジャパン/閲覧には会員登録が必要です)

スキルアップ/キャリアアップ(JOB@IT)


- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  TomcatやJBossなどAPサーバ環境に関する
情報を集約! “業務”用APサーバ大百科

New!
  一気に解説! 最新のクラスタストレージ
「RAIDを超えたストレージ基準」……など

New!
  クラウド的ユーザー体験の変化は脅威か?
仮想化技術を使いこなす運用管理術を紹介

New!

  上司や部下、部署内メンバーとの情報共有
を“ガラッ”と変えるコラボツールとは?

New!
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?