本記事は、アーカイブに保存されている過去の記事です。最新の情報は、公益社団法人日本印刷技術協会(JAGAT)サイトをご確認ください。

XMLで,Eコマース+出版 PAGE2000より

(株)日本ユニテック 企画部 調査担当 奥井 康弘 氏

1999年12月に開催された「XML99」というコンファレンスでの話題を中心にして,XML関連の動向について報告する。

XML99

主に印刷出版関係の会社を会員として,コンファレンスやセミナーを開催しているGraphic Communications Association(以後GCAと略す)では,毎年冬に世界最大のXMLコンファレンスをアメリカで開催している。
1999年の「XML99」は,12月6日から8日までの3日間フィラデルフィアで開催された。参加者は,この前日に開催されたチュートリアルや展示会なども含めて2,200人程度であった。日本からの参加者は,約50人と全体の2%強であったが,それでも以前に比べるとずいぶん大勢の人が参加した。
毎年春には,ヨーロッパでもGCAが主催してXMLのコンファレンスが開催される。しかし、ヨーロッパよりも,断然XMLのベンダーが集中しているアメリカやカナダの方が,展示などの数も多いし参加する人も豪華である。

9つのセッションと2つの利用分野

このコンファレンスではパラレル・セッションというかたちで、「コンテンツ/データ管理」,「コア・スタンダード」,「Eビジネス」,「初心者」,「XML出版」,「技術」,「Webグラフィックス」,「XMLアプリケーション」そして「XMLボキャブラリ」の9つのセッションが開かれた。

「コア・スタンダード」とは、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が単なる文書処理から、データ処理、あるいはそれを含めたデータ交換という新たな利用領域を見い出しているということが理解できる。

XML発展の3要素

XMLが発展するためには,「XML関連規格の整備」,「関連組織・関連プロジェクトの発足・進展」と「XML関連ツールの充実」という3つの要素が求められる。

XML1.0という規格は,開始タグと終了タグの間にデータをはさむということしか規定していない。それをどう使うかということに関しては,何も規定していない。
マイクロソフトが1999年10月頃、BizTalkフレームワーク仕様発表時に言った言葉を借りれば、XMLは単なるシンタックスに過ぎない。したがって,シンタックスを使ってどのような言葉をしゃべるのかは、前述したXMLボキャブラリではないが,自分たちで決めなければならない。そして決めたことを処理するシステムも,自分たちで作らなければならない。XMLというシンタックスは存在するが、それをどう実現するかは私たちの手にかかっている。

XML関連規格には、例えばリンクの規格,出版業界と関連するスタイルシートの規格,DTDの拡張であるスキーマの規格,データを取り出すクエリー言語など多くのものがある。それらのものがまず標準規格として定まり、かつ、それらの規格に対応した製品が発売され、システムインテグレートできるような環境が整えられなければならない。

また,前述したように,XMLというシンタックスをどのように使うかは自分たちで決めなければならない。ある業界でXMLを使うことを決めたら,そのためのタグセットを決め,その約束ごとに則ってどのようにデータをやりとりするのか決めなければならない。したがって,関連組織・関連プロジェクトによるXMLボキャブラリの選定なしには、XMLの利用が拡大することはない。なぜならXML自身は,タグセットについて何も決めていないからである。

更に,最終的なアプリケーションは自分たちで作るとしても,基本的なツールやライブラリ(例えばXMLのパーサーやリンク処理プログラム、あるいはXMLのデータを検索する基本的なエンジンなど)は,そろってほしい。
これらの3つの要素について,順次説明する。

XML関連規格の整備

出版関連業界の方々が最も関心をもたれているのは,XSL(eXtensible Stylesheet Language)といわれるXMLのためのスタイルシートである。タグセットが決まっても、それをどのように表示させるか、どのような体裁で印刷するかなどを指定できないと、タグ付きデータだけは交換できても、見栄えなどを交換することはできない。このためにXSLが必要であるが,まだこの規格を検討する分科会の草案(Working Draft:以後WDと略す)段階で,規格として定まっていない。

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段階である。

XSLT

XML関連規格として多くのものが検討されているが,XML99で一番注目を集めたのはXSLTである。その理由は,11月にXSLTとXPathができたばかりであったからである。早々とその対応などを表明するベンダーなどがあり、この時点でもさまざまなツールが出ていた。 XSLTは,スタイルシートで必要としたXMLの変換機能の部分であるが,いろいろな使い方が考えられている。(1)XMLからXMLへの変換,(2)XMLからHTMLへの変換,(3)XMLからテキストへの変換,などである。

例えばXMLからXMLへの変換機能を使用すれば,2つの違ったDTD(タグセット)に基づくデータ間で,それぞれのDTDにあわせた変換を行うことができる。また、XMLからHTMLへの変換機能を使用すれば,元データをXMLで管理していて、それをWebで公開するときにHTMLに変換して表示させることができる。XMLからテキストへの変換機能を使用すれば,XMLデータを既存のテキストベースの組版ソフト用に変換して渡すこともできる。したがって,XSLTだけでも、現状で紙に出力したり、Webでのデータ公開などを行うこともできる。

実は私は,このXSLTで十分ではないかと思っている。現在WD段階のままとなっているXSLでは,さまざまな組版に必要なモデルとか、組版用のためだけのボキャブラリなどをたくさん定義している。その状態で標準化しようとすると、世界中の組版の標準規格などを全部取り込まなくてならず,規格書自体が分厚くなり,処理するフォーマット(組版ソフト)を作るのも大変な仕事になる。現状のXSLTの機能であるHTMLへの変換,既存の組版ソフト用入力データへの変換などの方法の方がシンプルでいいような気がする。

XSLTの利用分野

XSLTが持つXMLからXMLへの変換機能の1つの利用分野に,データベース間のデータ変換がある。

Webアプリケーションの基本的な考え方の中に,データベース領域に位置するところをストレージ層,エンドユーザに位置するところをクライアント層,それらの中間をミドル層と呼ぶ3層モデルがある。
世の中にはいろいろなデータベースソフトを利用したデータベースがあることは認めるとしても,それらのデータベースを閲覧する側で,それぞれのデータベースソフトに対応したシステムを導入しなければならないのでは困る。そこで,異なるデータベースのデータを共通形式のXMLにミドル層で変換し、ブラウザなどで見ようという考え方がある。このミドル層で行われる,異なるデータベースのデータを共通形式に変換する、又は共通形式から個々のデータベースのデータに戻して蓄積するという仕組みとして,XSLTのXMLからXMLへの変換機能を使用する。

XMLからHTMLへの変換と,XMLからテキストへの変換を使用すれば,前述したように出版用として,ワンソースマルチメディアの実現手段としても,XSLTを使用できる。

XMLのクエリーとXSL

データ管理や文書管理では重要なXMLのクエリーについては,まだ決まっていない。発表によれば、提案が乱立状態で66ぐらいあり,それぞれ「自分たちはこういったものがいい」と言って提案しており、なかなかまとまらないとのことである。クエリー言語ではないが、XPathあたりで、しばらく代用される可能性があるという気がする。

XSLは、標準組版オブジェクト定義が非常に難しくまだWD段階である。SGMLのDSSSLでも,最初のWDがISOから1988年に出たが,結局できたのは1996年で8年かかった。ということで非常に難しいところがあり,どうなるかなと言うところである。

関連組織・関連プロジェクト

標準規格を定める団体としてW3Cがあるが、それ以外にもXMLを利用するための約束ごとを決めている関連組織や関連プロジェクトがある。

その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は,雑誌とかニュースのコンテンツの再利用や集約を行うために、メタデータを抽出するための規格である。

XML関連ツールの充実

今回のコンファレンスで目立ったのは,マイクロソフトの動きである。マイクロソフトは,W3C規格への準拠を表明した。W3C規格から逸脱して独自のオプションを付加した製品を出すのではなく,W3C規格がWD段階ではスナップショット的にその時点での製品を出しても,W3Cが勧告とした段階ではその勧告に合わせるということを表明し、みんなを安心させた。

このコンファレンスでマイクロソフトは,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号より(文責編集)

XML関連のセミナー,Workshopのご案内

XML/SGMLシリーズWorkshop

4日間でわかるXML入門

2000/04/18 00:00:00


公益社団法人日本印刷技術協会