双方向変換技術で構造化文書を効率的に処理
独自の変換言語を導入し、使いやすさに工夫
武市・胡グループ、汎用性の高い使用環境提供

 数理情報学専攻の武市・胡グループは、構造化文書を効率的に処理する手法として、データベースの「ソース」と特定情報を抽出・加工した「ビュー」との間で、双方向で情報の変換、更新ができる新しい文書体系を構築した。XMLを対象にしたもので、独自に提案しているBi-Xと呼ぶプログラミング言語で書くと、ソース(データベース)からビューへの変換を記述するだけで、ビューからソースへの逆方向も一貫性を持たせながら自動的に変換、更新する点が特徴。プログラマーの負担を軽減する効果があり、ウェブサイトの構築、書籍の貸し出し管理や論文リストの整理、買い物情報管理など広範な活用が期待されることから、早期の実用化を目指す。

 構造化文書変換技術の研究は、2003年から5年計画で進められている文部科学省のリーディングプロジェクト「e-Society 基盤ソフトウェアの総合開発」の一環。武市正人教授、胡振江 准教授と林康史、劉東喜、中野圭介の各研究員がプログラムの記述を含む文書を対象に、構造化文書処理の効率的な実現を目的に推進している。

 この文書体系はPSD(Programmable Structured Documents)と名づけられ、インターネットで普及している構造化文書体系のXMLを対象にしている。XMLで記述したデータと、それを表示・操作するビュープログラムを一体にしたもの。このため、ソース側で変換した情報がビュー側に反映されるだけでなく、ビュー側で変更や修正をすることも可能で、編集した内容はソース側のデータに整合性よく反映される仕組み。双方向変換を実現するのに用意した言語(変換エンジン)がBi-X。この言語で記述された変換を実行する言語処理系サーバ(Bi-Xサーバ)も開発済みで、Bi-X処理系をインストールする必要はなく、任意の端末を使って双方向の変換処理を自由に行う体系が出来上がる。

Bi-Xサーバの仕組み Vu-Xシステムのスナップショット
Bi-Xサーバの仕組み Vu-Xシステムのスナップショット
(上の画像をクリックすると、
大きい画面でご覧になれます)

 ただ、Bi-Xはプログラマーにとって馴染みの薄いポイントフリーという形式で記述する言語であるため、直接プログラミングすることがむずかしい。そこで、既存の言語XQueryなどで記述したプログラムからBi-Xプログラムに自動翻訳するツールも提供している。通常のXQuery処理系では片方の変換しかできないが、このツールを利用することにより双方向の変換を可能にした。これは、より多くのユーザーに普及させることを意識した対応である。

双方向変換技術で構造化文書の効率処理を実現した研究グループ 双方向変換技術で構造化文書の効率処理を実現した研究グループ(左から中野、胡、武市、劉、林の各氏)

 このように、使いやすさに視点を置いているため、PSDは幅広いアプリケーション開発が可能だ。XMLエディターとしては、ジャストシステムの協力を得てxfyシステムを活用し、スキーマ設計、ビューデザイン、PSDコードの埋め込みなどの環境を実現している。具体的な使い方としては、たとえば、書籍リストから貸し出し状況表を自動作成して表示し、利用者に変更が生じたときなど、その部分の変更を実行するだけで、表示面とともにデータベースも変更が反映される。これは①文書中にコードを埋め込んであるので、すでにあるデータから新しいデータが生成される、②参照されたデータと生成されたデータのどちらを編集しても、他方に自動的に反映される、③文書ではなく、スキーマにコードを埋め込むことで、埋め込む作業の負担を軽くできるといった成果による。

 このほか、双方向変換に基づくウェブサイト更新機構「Vu-X」も提供している。ウェブページの集合には、独立したウェブページで構成される無秩序集合型ウェブサイトと、共有データベースとそれをウェブページへ変換するプログラムで構成される変換適用型ウェブサイトがある。情報の一貫性のためには、変換適用型ウェブサイトが好ましいとされているが、データベースを直接編集する必要があるため直観的な更新がむずかしい。Vu-Xは変換適用型ウェブサイトながら、標準のウェブブラウザからウェブページを編集・更新できる機能を備えている。これはVu-XサーバによってJavascriptコードが埋め込まれているためで、任意の端末から元の文書と同じレイアウト表示上で編集したい個所をクリックするだけでページ編集ができ、データベースの内容も自動的に変更されるようにしている。

 武市教授は「使い勝手が一段と向上した、信頼性の高い変換技術を搭載した文書体系ができたので、そのよさを大きくアピールし、できるだけ早く産業界に提供したい」と話している。

ISTyくん