【リレーコラム:XMLの今と未来】 XMLを動かす
2001年06月21日作成
奥井 康弘
前回のコラム「XML関連書籍の出版ブームはいつまで続くか」で、XML関連書籍が巷にあふれている状況について観察が行われていた。今回は、これほどまでに注目を集めるXMLとは一体何者か?そして、それを実際にわれわれの業務で動かすためには何を行わなければならないのかという点を整理して考えてみたい。
皆さんもご存知のように、XMLは、タグと呼ばれるものでデータを区切ってその意味を表すものである。これはいたって単純なしくみであり、それゆえに様々な分野での利用のアイデアを促進していると言える。XMLはコンピュータでのデータ処理のあらゆる分野での利用が可能なである。
しかし、そのようなタグによって表現されたXMLデータそのものは技術なのだろうか?言い換えればXML1.0というXML文書(あるいはXMLデータ)の形式を定めた規格そのものを技術と呼べるかどうかということである。
XMLは、たとえばデータベース化し、それをサーバー上で加工し、それをWeb上でやり取りするという操作の対象である。データベースからどのようにXMLデータを取り出すか、それをどのように変換するか、そして、それをどのように見せるか、という処理には、データベース技術、データ変換技術、表示技術が使われる。しかし、XMLはその技術が前提とするデータ形式にすぎない。様々なプログラミング言語には、入出力データが存在し、それは何らかの文字コードで表現されている。文字コードそのものを技術と呼ぶ人はいないであろう。
XMLも同様に、それはデータ処理の対象であって技術そのものではない。これはXMLの重要性に疑問を投げかけているのではなく、XML技術体系というものは確かに存在するが、それはXMLデータを操作する様々な技術の総体のことであって、XMLデータそのものではないということである。XMLもそれを利用するアプリケーションの開発がなければただのデータにすぎないのである。
このような理由で、W3Cでも、「XMLを利用する技術体系の基礎」を構築すべく、さまざまな仕様を整備している。細かい仕様を挙げるときりがないので、その代表的なものを挙げると、次のようなものがある。
仕様名 |
説明 |
XPath |
XMLとして表現されたデータ(要素や属性など)にアクセスするための記法 |
XSLT |
XMLから他のXMLあるいはHTMLへの変換規則を記述するためのスクリプト言語。変換対象となるXMLデータ(部分)を特定するのにXPathを使用。 |
XLink |
XMLデータ間のハイパーリンクの記法 |
XPointer |
XLinkにおいてハイパーリンクの対象となるXMLデータを特定するためのURLの拡張記法。XPathを基礎とする。 |
XML Query |
XMLに対するクエリ言語 |
DOM |
一般のプログラミング言語からXMLデータを操作するための標準インターフェース |
これらは基礎技術であり、実際のXML利用においては、それぞれの業界でどのようなタグと構造でデータをXMLを使って表現するかという規格を定めている。たとえば、電子商取引の分野では、ebXMLという規格が存在する。これはこれで、それ自体が技術とよべる体系を備えている。たとえば、5月11日に公開されたebXMLの規格には次のようなものがある。
●Business Process Specification Schema v1.01
●Registry Information Model v1.0
●Registry Services Specification v1.0
●EbXML Requirements Specification v1.06
●Collaboration-Protocol Profile and Agreement Specification v1.0
●Message Service Specification v1.0
これらは、ebXMLに関わっている様々な委員会から出てきた結果である。この背後には非常に大勢の人が関わっている。XMLを採用した業界では、このうようにXMLというデータ形式をどのように使うかということを自分たちで決定し仕様化しなければならないのである。また、これだけでebXMLが動くわけではない、この仕様に対応したシステム開発が必要である。
XML技術というものは、基礎としては整備されつつあり、それはXMLの採用を促すものである。しかし、XMLを動かすためには、さらにそのXML技術を駆使して、利用シナリオを考え、データ形式を決め、プログラム開発を行う必要がある。これは一朝一夕に実現できるものではない。業界での大規模なXML利用となると大抵の場合何年もかかる。
ここまでの内容をまとめると、XMLを動かすには次の点を理解しておく必要があることになる。
●XMLは単なるデータ形式である
●そのXMLを利用するための基礎技術はW3Cなどで整備されつつある
●各業界でXMLするためには個別のXML仕様を開発する必要がある
●システム構築はそれからである
ある意味で世はXMLブームではあるが、XMLを利用するにはそれなりの労力が必要なのである。XMLを単なるブームに終わらせるのではなく、実際に動くものとしてITの発展の中で意味のあるものとして定着させるためには、XMLを取り巻く技術に対するこのような正しい認識が必要とされている。