「コア・スタンダード」とは、XML関連の規格がどのように進展しているかという話で,進捗状況などがW3Cから報告された。
「Eビジネス」とは、XMLになってからタグ付けデータの新たな応用分野として非常に注目されているEコマースと言われる分野をターゲットとしたもので,Webでの電子商取引がどのようにXMLを使って行われるかについてのセッションである。
「初心者」とは,文字どおり初心者向けの入門コーナーである。
「XML出版」とは、旧来のSGMLから引き継がれたもので、メーカーや企業での各種マニュアル出版や出版社での刊行物出版などで,XMLをどのように使って出版しているかを取り上げたものである。
「技術(テクノロジー)」とは、アプリケーション開発者などが興味を持つ分野で、XMLはどのようにして使うことができるのかという,底辺となる基礎技術を主体とした技術論の話である。
「Webグラフィックス」や「XMLアプリケーション」とは、「技術」で取り上げられたような基礎技術を実際に使って、プログラムを組むのにXMLがどのように役立つかとか、どのようにシステムに役立つかという話である。
XMLの規格では,DTD(Document Type Definition:文書型定義)で要素名や属性名などを定義する。そのDTDをもう少し広げてボキャブラリと呼ぶようになっている。必ずしもボキャブラリと言って通じる人が多いわけではない。しかし,要素の書き方とか、属性の定義のしかたでDTDを拡張したようなスキーマと呼ばれるものが出てくるため,それらをすべて包含して,例えば特定の業界内で使うタグセットのようなものを称してボキャブラリと呼んでいる。そこで,「XMLボキャブラリ」では,DTDを含めてどのような業界内で,どのようなタグセットがやりとりされるかという動向についての話があった。
XMLには,これらの9つのセッションからもわかるように、『データ交換』と『文書処理』という2つの大きな利用分野がある。「コンテンツ/データ管理」は、ある意味で今までの文書管理の延長と言えるかもしれない。
しかし、例えば「Eビジネス」となると、通信プロトコルとしてタグがどのように使われるかという話であり、文書処理とはほとんど関係ない領域になる。もちろん、Eビジネスでやり取りするデータの中に文字データが含まれるから、それも文書だと言えば、文書処理の拡張だと言えるが、基本的には文書を作成するとか出版するという業務とは関係ない。
このように各セッションを見てみると,XMLが単なる文書処理から、データ処理、あるいはそれを含めたデータ交換という新たな利用領域を見い出しているということが理解できる。
XML1.0という規格は,開始タグと終了タグの間にデータをはさむということしか規定していない。それをどう使うかということに関しては,何も規定していない。
マイクロソフトが1999年10月頃、BizTalkフレームワーク仕様発表時に言った言葉を借りれば、XMLは単なるシンタックスに過ぎない。したがって,シンタックスを使ってどのような言葉をしゃべるのかは、前述したXMLボキャブラリではないが,自分たちで決めなければならない。そして決めたことを処理するシステムも,自分たちで作らなければならない。XMLというシンタックスは存在するが、それをどう実現するかは私たちの手にかかっている。
XML関連規格には、例えばリンクの規格,出版業界と関連するスタイルシートの規格,DTDの拡張であるスキーマの規格,データを取り出すクエリー言語など多くのものがある。それらのものがまず標準規格として定まり、かつ、それらの規格に対応した製品が発売され、システムインテグレートできるような環境が整えられなければならない。
また,前述したように,XMLというシンタックスをどのように使うかは自分たちで決めなければならない。ある業界でXMLを使うことを決めたら,そのためのタグセットを決め,その約束ごとに則ってどのようにデータをやりとりするのか決めなければならない。したがって,関連組織・関連プロジェクトによるXMLボキャブラリの選定なしには、XMLの利用が拡大することはない。なぜならXML自身は,タグセットについて何も決めていないからである。
更に,最終的なアプリケーションは自分たちで作るとしても,基本的なツールやライブラリ(例えばXMLのパーサーやリンク処理プログラム、あるいはXMLのデータを検索する基本的なエンジンなど)は,そろってほしい。
これらの3つの要素について,順次説明する。
XSLT(XSL Transformations)は,XMLのデータ変換に関する規格で,1年ほど前まではXSLに含まれていた。しかし,「スタイルはいらない。データ交換をする上ではデータ変換だけが必要である。」と言う電子商取引などに関連する人たちが大勢いたため,XSLからデータ変換部分だけを分離して規格化が急ピッチで進められ, 1999年11月16日付けでXSLT Version 1.0としてW3Cの勧告(Recommendation)となり出版,公開された。
XPath(XML Path Language)は,XSLTの変換機能で使うためのデータの特定方法に関する規格である。例えば、同じ<TITLE>というタグであっても、親要素が<CHAPTER>のときの<TITLE>か、親要素が<SECTION>のときの<TITLE>かという条件をつけて,変換元のXMLデータの位置を特定するためのものである。XSLTとともに使われるため,XPath Version 1.0としてXSLTと同日付けでW3Cの勧告となった。Pathとは、親(ルート)からたどり、ある特定の場所にたどり着くという意味である。
XLink(XML Linking Language)は,ドキュメント内やドキュメント間でリンクを張るための規格である。XPointer(XML Pointer Language)は,リンクするデータの位置を特定するための規格で,XPathを若干拡張した規格である。
XML Schemaは,DTDの拡張として挙げられており、Structuresという構造を扱うPart1と、Datatypesを扱うPart2の2つがある。SGMLではタグで囲われた部分が日付けデータであった場合でも、単なる#PCDATAという定義で文字列としてしか認識せず,日付データの書き方をチェックする機能がなかった。しかし、DATEという日付けに関するデータ型(例えば2000-02-03のように西暦4桁ハイフン月2桁ハイフン日2桁というような標準的な書き方)が決まっていれば,特にデータ交換や電子商取引の領域ではそのデータ型をチェックしたい。そのための規格が,Datatypesである。
XLink,XPointer,XML Schemaは,いずれもまだWD段階である。
例えばXMLからXMLへの変換機能を使用すれば,2つの違ったDTD(タグセット)に基づくデータ間で,それぞれのDTDにあわせた変換を行うことができる。また、XMLからHTMLへの変換機能を使用すれば,元データをXMLで管理していて、それをWebで公開するときにHTMLに変換して表示させることができる。XMLからテキストへの変換機能を使用すれば,XMLデータを既存のテキストベースの組版ソフト用に変換して渡すこともできる。したがって,XSLTだけでも、現状で紙に出力したり、Webでのデータ公開などを行うこともできる。
実は私は,このXSLTで十分ではないかと思っている。現在WD段階のままとなっているXSLでは,さまざまな組版に必要なモデルとか、組版用のためだけのボキャブラリなどをたくさん定義している。その状態で標準化しようとすると、世界中の組版の標準規格などを全部取り込まなくてならず,規格書自体が分厚くなり,処理するフォーマット(組版ソフト)を作るのも大変な仕事になる。現状のXSLTの機能であるHTMLへの変換,既存の組版ソフト用入力データへの変換などの方法の方がシンプルでいいような気がする。
Webアプリケーションの基本的な考え方の中に,データベース領域に位置するところをストレージ層,エンドユーザに位置するところをクライアント層,それらの中間をミドル層と呼ぶ3層モデルがある。
世の中にはいろいろなデータベースソフトを利用したデータベースがあることは認めるとしても,それらのデータベースを閲覧する側で,それぞれのデータベースソフトに対応したシステムを導入しなければならないのでは困る。そこで,異なるデータベースのデータを共通形式のXMLにミドル層で変換し、ブラウザなどで見ようという考え方がある。このミドル層で行われる,異なるデータベースのデータを共通形式に変換する、又は共通形式から個々のデータベースのデータに戻して蓄積するという仕組みとして,XSLTのXMLからXMLへの変換機能を使用する。
XMLからHTMLへの変換と,XMLからテキストへの変換を使用すれば,前述したように出版用として,ワンソースマルチメディアの実現手段としても,XSLTを使用できる。
XSLは、標準組版オブジェクト定義が非常に難しくまだWD段階である。SGMLのDSSSLでも,最初のWDがISOから1988年に出たが,結局できたのは1996年で8年かかった。ということで非常に難しいところがあり,どうなるかなと言うところである。
その1つは,OASISという団体である。この団体は,以前SGML Openと呼ばれており,SGMLとかXMLのベンダーが集まり、お互いの製品間のデータ交換を行いやすくしようという目的でできた団体である。
コンピュータメーカーなどがマニュアル制作などに使用している,SGMLをベースとしたDocBookという定番DTDがある。OASISのメンバーであるSGMLベンダーのSGMLエディターや組版ソフトなどは、そのDocBookのサブセットをサポートするようなスターターセットを用意していた。そこで,現在OASISでは,DocBook のXML化を進めている。この動きからすると、出版領域でもSGMLからXMLへ移行するのが流れであろう。
もう1つは,IDEAlliance(International Digital Enterprise Alliance)という,GCAの中に作られているプロジェクトである。Eコマースに近い分野を対象としたもので,データ交換のためのプロトコルなどを決めている。ICE(Information and Content Exchange)とPRISM(Publishing Requirements for Industry Standard Metadata)の2つがあり,ICEには結構いろいろなベンダーが参加を表明しておりまとまりそうである。このICEは,出版も含めたWebサイトとWebサイトの間における,データのシンジケート化を実現するためのプロトコルを決めるものである。PRISMは,雑誌とかニュースのコンテンツの再利用や集約を行うために、メタデータを抽出するための規格である。
このコンファレンスでマイクロソフトは,XSLT/XPathという勧告規格に対応したMSXMLというTechnology Previewを,2000年1月に公開するというアナウンスをした。実は1月26日に公開されている。今のInternet Explorer 5で使えるXSLは,1年前のWD段階のものなので,ほとんど中身は変わってしまった。しかし,このMSXMLのTechnology Previewでは,勧告となったXSLT/XPathを受け付ける。といってもフルサポートではなく、Previewだから部分サポートである。Internet Explorerをバージョンアップするときには,新しいXSLTに準拠することを公にしたということである。
基本的にXSLTは,結構面倒なタグを使用して,変換規則を書かなければならない。この作業を簡単にするツールとして,XMLアプリケーション開発環境であるeXcelonを開発販売しているObject Design(1999年1月末に会社名がeXcelon Corporationに変わった)から,eXcelonに付属するWYSIWYGの XSLエディターStylusがでた。これがなかなか面白いもので,画面の右側にHTMLデータ,左側に変換元データとなるXMLデータを表示し,XMLのどこがHTMLのどこに対応するかを指定するだけで,XSLTのコードを出力する。
以上述べてきたように,XML99ではXMLに関する広範囲のことが取り上げられた。その中で感じたことは,「XMLの利用分野には,Eコマースなどのデータ交換分野と文書処理などの出版分野とがある。しかし,これらの2つの分野は'Eコマースvs出版'という対立するものではなく,XMLを利用して両者が結びつく'Eコマース+出版'という方向に進むだろう。」と言うことである。
2000年2月3日PAGE2000コンファレンス「SGMLか? XMLか?」にて
テキスト&グラフィックス研究会会報第131号より(文責編集)
2000/04/18 00:00:00