森基金報告書 2004年度

XSLTを利用した2段階XMLコンテンツ変換システムの提案と実装


慶應義塾大学政策メディア研究科前期博士課程2年
学籍番号:80332552
松山 啓太

 研究テーマ変更について

  2004年度研究申請時は、「パスベースのRDF問い合わせ言語"RPath"の設計と実装」というテーマで申請を行った。 "RPath"は、今回のウェブコンテンツ変換技術(Content Adaptation)に応用可能なRDF問い合わせ言語の予定であった。 しかし先行研究調査の結果、コンテンツウェブコンテンツ変換技術そのものに関する研究を深める必要性を感じ、今回のテーマに変更した。

 はじめに

  近年、ウェブに接続可能な機器が多様化し、ウェブを利用するユーザの嗜好も多岐に渡っている。 このような状況の下で、機器の情報やユーザの嗜好に応じてウェブコンテンツを変換する技術が注目を集めている。 ウェブコンテンツ変換に用いられるユーザコンテキストは、スクリーンサイズ等の機器情報からユーザの位置情報まで非常に幅広い。 このため、ユーザコンテキストはサーバで処理を扱われるべきものとクライアントで扱うべきものに大別される。 以下にサーバで処理すべきものとクライアントで処理すべきものを明記する。

 拡張XSLTの提案

  本研究は、様々なユーザコンテキストの種類に応じてウェブコンテンツ変換処理をサーバとクライアントで分散させ、サーバとクライアントによる2段階の変換システムを提案する。 変換対象としてウェブ上の文書記述形式であるXML (Extensive Markup Language)を想定し、XMLの変換言語であるXSLT (XML Stylesheet Language Transformation)の拡張を定義することによって2段階変換を実現する。 XSLTの拡張とは、XSLスタイルシート内に処理をサーバで行うべきか、クライアントで行うべきかを明記できる仕組みを導入することである。

  サーバとクライアントによるコンテンツ変換処理を実現するため、本研究では拡張XSLT文法を定義する。 この拡張XSLT文法は基本的に通常のXSLT文法と同様であるが、拡張XSLT用の特定要素をXSLTプログラムに追加する。 下図に拡張XSLT文法を示す。

  拡張XSLT用の特定要素(<casxslt:process>要素)を追加することでサーバ、クライアントで分割された連続的なXML変換処理を実現することが出来る。 この拡張XSLT用の特定要素はXSLテンプレート要素ごとに処理をサーバ、クライアントどちらで行うかを拡張XSLTプログラム製作者が明示的に指示するものである。 変換処理をXSLテンプレート要素ごとに分割する(<casxslt:process>要素で指定)ことにより、プライベートコンテキスト(サーバに公開したくないようなプライバシーに関わるユーザコンテキスト情報)を含むXSLテンプレート要素をクライアントマシンで処理出来る。 サーバでの処理に関しても同様にパブリックコンテキスト(サーバで処理すべきユーザコンテキスト情報)の処理を含むXSLテンプレート要素をサーバマシンで処理することが可能となる。

  上記した拡張XSLT文法から提案システムのプリプロセッサがサーバ側、クライアント側のXSLTを生成する。 生成されたサーバ側XSLTプログラムをSe-XSLT,クライアント側XSLTプログラムをCl-XSLTと呼ぶ事とする。

   本研究の提案するXML文書の2段階XSLT変換を下図にまとめる。 対象となるXMLツリーはSe-XSLTプログラムによって中間的なXMLツリーに変換される。 この処理はサーバマシン内で行われる。 中間XMLツリーは、Cl-XSLTプログラムによって最終的な閲覧用XMLツリーに変換される。 この処理はクライアントマシン内で行われる。

 提案システムの実行例

  提案システムの応用として、位置情報を利用したウェブコンテンツ(地図情報に関するウェブコンテンツ)やe-learningに関するウェブコンテンツなどが挙げられる。 ここでは、e-learningに関する実行例を以下に示す。 上の図がコンテンツ変換前のウェブコンテンツである。 下の図が2段階のコンテンツ変換後のウェブコンテンツである。



 他システムとの定性評価

  ウェブコンテンツ変換の既存研究は、以下の3つのアプローチに大別される。

  本提案方式と既存のアプローチを定性的に評価する。 比較項目は以下の5つとする。

  上記の評価項目で本提案方式と既存のアプローチを定性的に評価した。 評価結果は、以下の表のようになった。 本提案方式は、クライアントの処理負荷が高いものの変換の分離等の項目で良い評価が得られた。

ユーザ変換制御提供者側変換制御デバイス処理負荷ネットワーク帯域変換の分離
本提案方式×
サーバサイド××
プロキシベース××
クライアントサイド××××

 まとめ

   本研究では、2段階XML文書変換を行うウェブコンテンツ変換システムを提案した。 この2段階XML文書変換方法を用いることで、コンテンツ変換の種類(サーバ型コンテンツ変換、クライアント型コンテンツ変換)に応じた変換を可能にした。 例えば、位置情報などネットワークを通じて送ることが問題になるようなユーザコンテキストはクライアントで変換処理をすることが出来る。 同様にサーバで扱うべきユーザコンテキストは、サーバでコンテンツ変換に利用出来る。

  2段階XML文書変換には、XML文書の変換言語であるXSLTの拡張を定義し、この拡張XSLTによって実現した。 この拡張XSLTは、通常のXSLTとほぼ同様の文法であり、処理をサーバもしくはクライアントのどちらで行うかを明記する点のみが異なる。 拡張XSLTプログラムは、プリプロセッサによってサーバ側、クライアント側の2種類のXSLTとなる。

   また本研究では、提案した2段階XML文書変換の定性的な評価を行った。 定性的な評価では、本研究の提案方式は「クライアント端末の計算負荷」以外の項目(ユーザによる変換の制御、変換の分離など)では良い評価が得られた。

 発表論文

  本研究の成果として、現在までに以下の研究発表を行った。 また、本研究の詳細を慶應義塾大学修士論文としてまとめた。