様々な分野に対応が進んでいるXML。ツールが出揃いつつある現状で、未だXMLとはどういったものなのか知らない方も多いのではないだろうか。ここではは、XML関連キーワードをいくつか取り上げ、XMLがどんなものなのか、どういうふうに使えるものなのかを、やさしく解説していきます。



1何はともあれ、XMLって何?
2XMLのメリットと利用形態
3XMLの作成例
4簡単にピックアップ!! XMLの特徴
5企業連携・文書管理に最適 XMLの利用分野
6機能毎にツール紹介 XML関連ツール
7XMLのこれから




1何はともあれ、XMLって何?

 XML(eXtensible Markup Language)は1998年2月にW3Cで勧告が出された言語の仕様(XML1.0)のことだ。XMLは、HTMLと同様に、SGMLStandardGeneralized Markup Language)から派生してきた言語である。SGMLは異種のコンピュータ間で文書の互換を行うためのもので、文書のもつ「章見出し」「節見出し」「本文」……などの論理構造を記述することができる。タグは文書の論理構造に対応し、その構造や属性はDTDDocument Type Definition)と呼ばれるファイルに記述されるようになっている。DTDに基づいてレイアウトを行えば、異種のコンピュータでも文書の論理構造をそのまま再現できる。

 しかし、SGMLは仕様が大きく複雑であり、またWeb向きの仕様になってないため一般への普及が難しかった。一方でHTMLはDTDを不要にするなど、仕様を思い切り緩くして、Webの標準言語となった。しかしHTMLでは決められたタグしか使えず、データのもつ階層的構造を明確に表現できない、頁替え等文書印刷の際のスタイル指定機能がない等の欠点がある。

そこで、インターネットビジネス用の言語としてはどうしてもこの二つの言語の問題点を解決・緩和する新しい言語が必要となり、その期待を担って登場したのがXMLなのです。下記の表はXML、SGML、HTMLのデータ形式がどのような用途に向いているかを比較したものです。XMLがSGMLとHTMLの短所を克服し、長所をあわせもつものであることがご理解いただけるでしょう。


比較項目
XML
SGML
HTML
備考
電子閲覧
SGML仕様には文字の大きさや配置等WEB上での見えかたを指定するスタイル機能がない
印刷
×
HTMLには印刷ぺージ概念がない
Web適合度
×
SGMLはURLリンクを仕様としてもたない
文書交換
×
HTMLは情報を明確に構造化表現できない
再利用性
×
情報部品としての有効性、情報属性の明確性
データベース
×
データベースの親和性
リンク対応
×
ハイパー・リンク仕様の保持
管理の容易性
×
コンテンツ管理
作成の容易性
作成上の操作性
オブジェクト
データ・オブジェクト、オブジェクト・プログラミング
プログラミング
データ処理の自動化、アプリケーション・プログラム開発の容易性

    ◎:最適 ○:適用可 △:適用可、機能不足 ×:不向きまたは無関係


2XMLのメリットと利用形態
 
 Webページ作成言語であるHTMLは、タグが固定であり表示に特化した構造となっており、アプリケーションからそのタグ情報を基にプログラム処理できない問題がある。XMLでは利用者が自由にタグを定義でき、文書中の文字列に意味付けができる言語構造をもっており、プログラムで自在にXMLデータを情報処理できるというメリットがある。さらに、SGMLの持つ複雑な印刷系のオプションなどを省略して言語仕様を規定しており、理解しやすさと使いやすさを向上させている点にもメリットがある。


 XMLの利用面からの特徴を見ると、以下の3つの形態が挙げられる。

動的コンテンツ
アプリ間データ交換
ビジネス・ルールの統合

 動的コンテンツとは、プレゼンテーション(HTML、マルチメディア)、ロジック(スクリプト)、データベース(XML)の組み合わせでコンテンツが形成されている事を示している。このコンテンツをWebクライアントに送り込み、利用者の指示に従ってWebページをダイナミックに変化させ情報表現させることができる。

 XMLの一般的な利用形態が、アプリ間データ交換での利用である。インターネットの普及により、企業では部材等の調達コスト削減を目指して、オープン調達/グローバル調達といったWebベースの電子商取引の形態ができており、その調達のルールや伝票形式にXMLを適用してアプリ間のデータ交換を行うケースがある。この他のアプリ間データ交換の形態として、ERPパッケージとレガシアプリとの共通インターフェースとしてXMLを適用する形態、データベースの持つメタ情報とデータとをXMLにマッピングして、異業種DBの情報交換で利用する形態などがある。

 より進んだ利用形態として、ビジネスルールの統合にXMLを適用する形態がある。ここでいうビジネスルールとは、企業間の組織間で流れるデータ形式とルーティングのルールを指しており、このルールをXMLを使って規定していく。これは企業内の部門と部門との内部ビジネスルールへの適用だけでなく、他企業とにまたがる外部ビジネスルールの適用にもXMLが利用される。

3XMLの作成例

この言語を理解するのには、ソースのリストを見てもらうのが一番の早道だろう。以下に、非常にシンプルなXMLの例を示す。

 リスト1:簡単なXML文書の例
<?xml version="1.0" encoding="Shift_JIS"?>
<?xml-stylesheet type="text/xsl" href="testxsl.xsl"?>
<おこづかい帳>
 <支出>
  <内容>
   <日付>1月20日</日付>
   <交通費>780</交通費>
   <食費>980</食費>
   <嗜好品>250</嗜好品>
  </内容>
  <内容>
   <日付>1月21日</日付>
   <交通費>950</交通費>
   <食費>1200</食費>
   <嗜好品>300</嗜好品>
  </内容>
  <内容>
   <日付>1月22日</日付>
   <交通費>500</交通費>
   <食費>1500</食費>
   <嗜好品>250</嗜好品>
  </内容>
 </支出>
</おこづかい帳>

 最初の2行はさておいて、<おこづかい帳>以下のタグと中味に注目していただきたい。次のような特徴がわかるはずです。

(1)「おこづかい帳」の中に「支出」が入り、「支出」の中に「日付」や「交通費」などが入っている…つまりこのデータは構造(入れ子構造)をもっている。
(2)タグはHTMLのようにレイアウトを示すものになっていない。XMLのタグは、タグにはさまれる内容(データ)が何であるかを示す文字になっている。しかもどうやら作者が勝手に都合よく決めたタグであるように見える…すなわち、XMLのタグは自由に決められ、データに意味をつけることができる、ということだ。

 それでは、このリストはどう使えるのだろう。このリストをブラウザに読み込ませても、うまくいってもリストがそのまま表示されるだけだ。XML文書は、それだけではレイアウトやデザインをしてくれないのだ。XML文書を何かに使うときには、XMLパーサと呼ばれるツールがまず必要だ。パーサは、アプリケーションプログラムでXMLを扱えるようにしてくれるツールである。さまざまなXMLパーサがあるが、例えばInternet Explorer 5.0x(以下IE5)にはmsxmlというXMLパーサが搭載されている。これがあれば、ブラウザ上でXML文書を扱うことができる。またIE5はXSLTプロセッサも搭載している。XSLTプロセッサというのは、XML文書を別のスタイルをもつXML文書に変換したり、XMLをHTMLに変換したりするためのエンジンである。XSLTは、XSLと呼ばれる、スタイルシートを記述する言語の一部として使われる仕様である。
 IE5を用いれば、さきほどのXML文書の例を、ブラウザ上に何らかのの形で表示できる。表示のためには、どのような形で表示するかを決めるためのXSL文書が必要だ。XSL文書は、たとえば次のようなものである。

 リスト2:簡単なXSL文書の例
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
 <xsl:template match="/">
  <html>
   <body>
    <xsl:apply-templates select="おこづかい帳/支出" />
   </body>
  </html>
 </xsl:template>

 <xsl:template match="おこづかい帳/支出">
  <table border="1">
   <xsl:for-each select="内容">

   <th colspan="3"> <xsl:value-of select="日付" /></th>
    <tr>
     <th>交通費</th><th>食費</th><th>嗜好品</th>
    </tr>
    <tr>
     <td><xsl:value-of select="交通費" />円</td>
     <td><xsl:value-of select="食費" />円</td>
     <td><xsl:value-of select="嗜好品" />円</td>
    </tr>
   </xsl:for-each>
  </table>
 </xsl:template>
</xsl:stylesheet>

 このような文書を作って、XML文書と関連づけしておく。この文書の中にXMLを目的に応じたスタイルで表示するために必要な事柄を記述しておける。IE5をお持ちの方は、上記のリスト1をコピーして「test.xml」などと名前を付けて保存し、リスト2を「testxsl.xsl」と名前を付けて保存してみよう(こちらは、ファイル名をリスト1の2行目で指定して関連づけているので、ファイル名はそれと同じでなければならない)。そして、XML文書(test.xlm)をIE5で開いてみよう。おこづかい帳の表が表示される。


4簡単にピックアップ!! XMLの特徴

 ここでXMLの特徴について触れておく。まず前項で紹介したXMLの例を見ても分かる通り、XMLの特徴は,データ(データ構造も含み)とレイアウト・デザインとを分離していること。また、タグが自由に設定できて、データに意味を持たせることができること、そして構造化できる点だ。XMLがデザインを分離していることにより、1つのXMLデータをもとに、XSLを変えるだけでさまざまな表現を行うことができる。それはWeb上での情報提供の形をさまざまに変更したり、対象(ブラウザや携帯電話など)を簡単に増やしたりすることにとどまらず、例えば販促資料やカタログなどの印刷物、営業用の電子資料などにもすぐに形を変えることができるのだ。また、データが意味と構造をもっていることは、システム間でのデータ交換にとって大きなメリットだ。従来のCSV形式のデータで互換をとっているシステムの場合は、データの内容ではなく並び順によって処理が行われる。もとになるデータ項目に追加・変更・削除など行われると、そのたびに連携する双方でシステムを変更しなければならない。XMLなら、必要となるタグを目安にデータを取捨選択し、必要なデータだけを処理することができる。これがHTMLと違ってXMLが大きな拡張性をもつ要因になっている。
ここで簡単に特徴をまとめておこう。

XMLのタグは、データの意味を表し、構造化できる。
タグは自由に決めることができる。
XMLにはレイアウト・デザインの機能を分離している。



 XMLは、上記でで紹介した例のように単純きわまりない書き方が許される一方で、DTDを用いてタグを定義し、企業間取引でも十分に利用可能なデータ表現を可能にしている。もっとも、DTDはデータベースのようなデータ型をもっていないなど、さまざまなビジネス取引への適用には問題となる要素ももっている。そのため、XMLスキーマという、XMLの構造やデータ型を定義するための仕様がW3Cなどで検討されている。
 また、XMLではXQL QueryDOMというアプリケーションへのインタフェースが使える。XML QueryはXML文書用の問い合わせ言語、DOMは、プログラム言語に依存しない、XML文書中のデータへのアクセスのためのインタフェースである。XMLアプリケーションでは、DOMを介してさまざまなプログラム言語でXMLを扱うことになる。これらのほか、HTMLでも可能なことであるが、スクリプト言語を使ってXMLデータを処理することもできる。


5企業連携・文書管理に最適 XMLの利用分野

電子商取引分野

 XMLの適用分野として、いま最も注目されているのは、企業間での電子商取引である。XMLは、電子商取引の標準フォーマットとして成長する可能性が非常に高い。従来から、B to Bの企業間データ交換についてはEDIElectronic Data Interchange)と呼ばれる方法がある。これは特別な標準仕様があるわけではなく、多くは各取引において主要な企業がリードして情報交換の方法を決めて他の企業がそれに従うか、狭い範囲のグループ内で共同で開発するものである。しかし、XMLでEDIを実践しようとした場合,多くのメリットが考えられる。いくつか例をあげると,

EDIと違い、ベースが標準フォーマットであるため、1対多、多対多のデータ交換が行いやすい。
最初からWebを念頭につくられているため、すべてのWeb技術が利用可能になっている。
データの意味がタグになっているので、目で見て内容が理解できるため,メンテナンスが容易。
タグセット等を簡単に追加することで、システム変更などが非常に柔軟に出来る。

 特にシステム変更に関する柔軟性は需要だ。従来のEDIがある程度大規模なシステムで大量のデータ交換を行う場合だけにコスト効果が引き合っていたのに対し、XMLならもっと小規模で少量のデータ交換であっても同様のデータ交換が始められる。最初からたくさんの企業間でのデータ交換を意図してシステムをつくり始めなくても、とりあえず現在間に合うシステムをつくっておけば、それを必要な都度変更していくことができるのである。
 こうした長所を企業間取引で実際に活用すべく、XMLによる情報交換を標準化するための組織が次々に生まれている。XMLは標準仕様とはいうものの、構造やタグの定義などをそれぞれの企業が自由にやっていたのでは、本格的なB to B取引に適用が難しい。そこで、特定の業界内で、スキーマ(タグ定義など)の統一を行い、メンバーどうしの取引が同一の方法で行えるようなeマーケットプレイス(取引の「場」)がいくつかできているのだ。下記に著名な団体を挙げておきます。

ロゼッタネット(電子部品などの業界)
CommetceNet(ハードウェア/ソフトウェアベンダなど)
Commereceone(標準化団体など)

 それぞれが独自に共通のスキーマ(DTDの仕様など)を定めていて、各々、PIP、cXML、eCo Framework、CBLといっている。実際の取引においてはさまざまなプロセスで利用するスキーマが違う場合がある。そのスキーマをどのように使い分けるかなどの規定(フレームワーク)も、各組織が決めている。また、マイクロソフトもBiZ Talk Frameworkとしてプラットフォームに依存せずにデータ交換を行うためのフレームワークを提案している。

企業内システム

 B2B取引以外でも、ビジネスでXMLが活用できる領域は多い。例えば、企業内での基幹情報システムと他のシステム間などの統合を図るEAIEnterprise Application Integration)分野でも、XMLが注目されている。もちろん、データ互換が標準仕様で行えるのが利点である。ほかに、文書のパーツ化や属性による整理が簡単に行え、さまざまなメディア間でデータ交換が容易な特性から、ドキュメント制作や管理分野でもXMLは注目を集めている。また、Webページ制作において、DOMを使ったスクリプト組み込みなどの利点を生かして合理化しようとする方向もある。特に今後は、XMLでHTML4を定義し直した仕様であるXHTMLがこの方向でのXML利用を加速させていきそうだ。XHTMLは、XMLの自由なタグ定義を可能にしながら、HTMLの表示に関するタグも使うことができるものである。


6機能毎にツール紹介 XML関連ツール

 さて、XMLの基本中の基本がわかったところで、XMLを実際にビジネスに役立てるためのツールを紹介していこう。XMLはたんに仕様にすぎないので、テキストエディタでXML文書を書いて、その処理のためのアプリケーションプログラムを各種のプログラム言語で開発すればよいわけだが、実際にビジネスに使えるレベルの処理をプログラミングするには計り知れない労力が必要になる。XMLツールはその労力を圧倒的に削減してくれる。 ただ開発後のメンテナンスと、新しい仕様のリリースにあわせた改善とを絶えず行っていかざるを得ないことを考えると、ツールの活用は不可欠といえる。フリーウェアとしていくつか流通しているものもあり、システムの検討やテストに利用するには好適だ。しかし、本格的なビジネスにXMLを利用しようとする場合には、ベンダ等による保証やサポートが得られる有償製品が、当然ながら望ましい。
 ここでは、XMLを作成する際に便利なツールを、そのツールを使うメリットをあげながら紹介する。

(1)XMLエディタ/生成ツール、XSL生成ツール
 
【機能】XMLやXSLを記述するためのツール。
【メリット】従来のエディタではできないXMLの仕様チェックを行なうことができる。ツールによっては、構造をツリー形式で表示しながら、表形式でXMLの作成・編集が行えるものがある。またExelデータをXMLに変換して出力してくれるツールもある。
(2)XMLパーサ(処理エンジン)
 
【機能】XMLをアプリケーションで処理するためのツール。JavaやC++、COM等のライブラリ。各種APIを提供し、アプリケーションから直接利用できる。
【メリット】XMLの文法などを意識することなく、従来のアプリケーションからXMLを処理することができる。これにより従来のアプリケーションとXMLのインタフェースをはじめから作成する必要がなくなり、大幅に工数が短縮できる。
(3)XSLTプロセッサ
 
【機能】XML文書に従って、HTMLや他のスタイルのXMLに変換するための実行エンジン。XMLの多くはWeb環境で使われるが、ブラウザでそのまま表示したりできないので、XSL文書で表示などを設定して、HTML文書に変換した上でブラウザに送ることになる。その変換処理を行うのがこのツール。
【メリット】XMLとHTMLの変換などが容易にできる。通常サーバ側のXSLTプロセッサで変換を行うが、XMLパーサとXSLTプロセッサが搭載されているIE5.x以上ですべてのクライアントが統一できる場合には、XMLをブラウザ上でHTML変換する方法がとれる。
(4)XMLデータベース
 
【機能】XML専用のデータベース。XML文書をDOMのインタフェースを使ってバイナリ化し、構造をツリー形式に変換してデータベース化(DOMツリー形式)するもの、テキスト形式で格納するものの2タイプがあるが、どちらもXMLの各要素単位で検索・更新などが行えるように工夫されている。
【メリット】 XMLをそのままデータベース化して処理する場合、通常のRDBへのテキスト格納では検索処理が全文検索同様の処理となり速度に問題が生じる場合がある。XML専用のデータベースではXMLの構造をそのまま格納する技術により、パフォーマンスを上げている。
 DOMツリー形式のものは、日本エクセロンのeXcelon B2B Portal Serverのみ。
(5)RDB/システム間連携ツール
  XMLマッピングツール
【機能】XMLのどのタグのデータを、RDBのどのカラムに入力するのか、あるいはRDBのどのカラムのデータにどういうタグをつけてXML化するのかを定義するツール。
【メリット】新たにプログラムを作成することなく、RDBとの連携が簡単に実施できる。
その他システム間連携ツール
 RDBMSとの連携をはかるときには、RDBMSのXML拡張機能を利用する方法がある。日本オラクルのOracle 8iは新バージョンでXML SQL Utility(XSU)や、パーサとXSLTプロセッサなどを備えたXML Development Kitを用意し、XMLサポートを大きな特徴の一つとしている。拡張機能を使うことにより、XMLの問い合わせををSQL化してRDBに送り、検索結果をXMLで返してくれるようにできる。
 企業間でのシステム連携のためには、いくつかのツールが販売されている。日本IBMのMQSeries Integratorや、ウッドランドのeSooner、東芝アドバンストシステムズが販売しているWebMethods B2B、日本エクセロンのeXcelon B2B Integration Server、インフォテリアのAsteriaなどがこれにあたる。これらは企業間取引に必要なXML技術を網羅し、メッセージングやワークフロー機能などを盛り込んだシステムである。
 また、前述したようなDTDの制約を超えて、情報システムでXMLを利用するために他の仕様でタグや属性の定義を行うために、スキーマ定義言語がいくつか出てきている。W3Cで検討中のXML Schemaをはじめ、マイクロソフトのXDR、日本で開発されたRELAXなどがそれだ。これらのスキーマ言語を相互変換したり、仕様にのっとってスキーマを設計し、タグや属性の名前、文書構造などをきちんと定義する必要がある。このときに利用できるのがXMLスキーマ言語設計ツールである。インフォテリアのXML Authorityは、各種のスキーマ言語に対応して、GUIを用いながらスキーマ設計が行える。

どのツールが必要か?
前述した分野にXMLを適応させる際に、果たして必要なツールはどんなものだろう。例えば電子商取引分野では、「XMLパーサ」と「XMLデータベース」はぜひ購入を検討して欲しい。XMLパーサはIE5にてサポートされているものの、JavaやC++インターフェイスがサポートされていないので、制限された使い方になってしまう。またXMLデータベースについては、通常のRDBの場合、トランザクションが増えてくるに従いレスポンスが遅くなる恐れがあるので、電子商取引を行う上では致命傷になる。もしそのままRDBを使うのであれば、「XMLマッピングツール」を用いてシステムを構築することができるので、そちらの検討をして欲しい。また企業内システム分野においては、現行の文書管理ツールやグループウェアなど、多岐にわたってXML対応された製品が発売されており,それをそのまま使用することでXMLを使うことが出来る。またほとんどのクライアントPCがIE対応していることも考慮にいれれば、XSLTプロセッサについてはIE5を利用するべきで、特に購入の必要はないだろう。

7XMLのこれから

 インターネットを利用したBtoB取引が爆発的に広がるなか、標準的なデータフォーマット確立への期待が、XMLに集中している。XMLは仕様の確定が98年2月、その後続々と関連仕様が固まってきているところ。まだまだ新しく、これからさらなる拡張が次々に行われる技術ではあるが、先進的な企業ではもはや研究段階を過ぎ、新しいXML EDIの実用段階にたどりつこうとしている。マイクロソフトがIE5をはじめOffice製品にXML技術を積極的に取り入れているのを始め、LotusなどグループウェアやOracleなどRDB各社もXMLサポートの強化を次々に行っている。XML EDI実現と普及に向けて各産業のe-マーケットプレイスも動き出し始めた。関連仕様もほぼ固まり、ツールも揃い、「場」もできつつある。XMLは順風万班で船出を始めたといえる。
 この船に乗り込むのは簡単だ。XMLのなによりの特長は、その柔軟性。どのようにつくり始めても、環境に合わせていかようにも変更・追加ができる。業界標準スキーマの確立を待つ間に、まずはXMLの低い垣根を乗り越えてみてはいかがだろうか。XMLツールは大きな投資を必要とするものではない。フリーウェアも数多い。ぜひ一度、XMLの世界を体験していただきたい。

ページのTOP