(57)【要約】  複数の文書を統合して表示する画面を提供する。  コンテンツ統合ユニット７０は、ウェブサーバ２５から取得したウェブページや、検索エンジン２７が提供する検索サービスにクエリを送信するためのインタフェイスや、検索エンジン２７による検索結果などを、同一のコンテンツ統合画面２８に統合して表示する。コンテンツ統合ユニット７０は、コンテンツ統合画面２８に表示するウェブコンテンツの登録要求を受け付けるとともに、それらの表示領域のレイアウトの編集要求を受け付け、コンテンツ統合画面２８を設計するためのインタフェイスを提供する。【特許請求の範囲】
【請求項１】
ネットワークを介してサーバから複数のＸＭＬ文書を取得する文書取得部と、
前記複数のＸＭＬ文書を同一画面上に表示するための規則を規定する第１の定義ファイルを取得する定義ファイル取得部と、
前記定義ファイルに規定された前記規則にしたがって、前記複数のＸＭＬ文書を同一画面上に表示する表示制御部と、
を備えることを特徴とする文書処理装置。
【請求項２】
前記定義ファイル取得部は、前記複数のＸＭＬ文書のそれぞれを、それぞれのＸＭＬ文書に割り当てられた表示領域に表示するための規則を規定する第２の定義ファイルを更に取得し、
前記表示制御部は、前記第１の定義ファイルの規則により前記複数のＸＭＬ文書の表示領域のレイアウトを決定し、前記第２の定義ファイルの規則によりそれぞれの表示領域に前記ＸＭＬ文書を表示させることを特徴とする請求項１に記載の文書処理装置。
【請求項３】
特定のタグセットで記述された文書を処理する処理系と、
前記第２の定義ファイルに記述された規則にしたがって、前記ＸＭＬ文書を、前記処理系により処理可能なタグセットにマッピングし、マッピングされた構成要素間の対応を保持する変換部と、
を更に備えることを特徴とする請求項２に記載の文書処理装置。
【請求項４】
前記画面上に表示された複数のＸＭＬ文書の保存を制御する保存制御部を更に備え、
前記保存制御部は、前記変換部により変換される前のＸＭＬ文書を保存することを特徴とする請求項３に記載の文書処理装置。
【請求項５】
前記ＸＭＬ文書に含まれるデータに関する条件にしたがって表示形式を変更する規則を保持する条件保持部を更に備え、
前記表示制御部は、前記ＸＭＬ文書に含まれるデータが前記条件に合致するときに、前記規則にしたがって前記ＸＭＬ文書の表示形式を変更することを特徴とする請求項１から４のいずれかに記載の文書処理装置。
【請求項６】
前記ＸＭＬ文書の少なくとも一部を更新する更新制御部を更に備え、
前記更新制御部は、更新すべき前記ＸＭＬ文書の指定をユーザから受け付け、指定されたＸＭＬ文書を前記文書取得部に再取得させ、前記表示制御部に表示させることを特徴とする請求項１から５のいずれかに記載の文書処理装置。
【請求項７】
前記複数のＸＭＬ文書を表示する画面の編集要求を受け付けるためのインタフェイスを提供する画面編集部を更に備え、
前記画面編集部は、前記画面に表示すべきＸＭＬ文書の登録要求を受け付け、前記第１の定義ファイルに、要求された前記ＸＭＬ文書を前記画面に表示するための規則を記述することを特徴とする請求項１から６のいずれかに記載の文書処理装置。
【請求項８】
前記画面編集部は、前記画面における前記ＸＭＬ文書の表示領域のレイアウトの変更要求を受け付け、前記第１の定義ファイルの規則を編集することを特徴とする請求項７に記載の文書処理装置。
【請求項９】
ネットワークを介してサーバから複数のＸＭＬ文書を取得するステップと、
前記複数のＸＭＬ文書を同一画面上に表示するための規則を規定する第１の定義ファイルを取得するステップと、
前記定義ファイルに規定された前記規則にしたがって、前記複数のＸＭＬ文書を同一画面上に表示するステップと、
を備えることを特徴とする文書処理方法。
【請求項１０】
コンピュータに、
ネットワークを介してサーバから複数のＸＭＬ文書を取得する機能と、
前記複数のＸＭＬ文書を同一画面上に表示するための規則を規定する第１の定義ファイルを取得する機能と、
前記定義ファイルに規定された前記規則にしたがって、前記複数のＸＭＬ文書を同一画面上に表示する機能と、
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理技術に関し、特に、マークアップ言語により記述された文書を処理する文書処理装置及び方法に関する。
【背景技術】
【０００２】
ＸＭＬは、ネットワークなどを介して他者とデータを共有するのに適した形式として注目されており、ＸＭＬ文書を作成、表示、編集するためのアプリケーションが開発されている（たとえば、特許文献１参照）。ＸＭＬ文書は、文書型定義などにより定義されたボキャブラリ（タグセット）に基づいて作成されている。【０００３】
ウェブページは、ＨＴＭＬ（HyperText Markup Languate）により記述されることが多かったが、今後、ＨＴＭＬに代わって、ＸＨＴＭＬなどのＸＭＬにより記述されたウェブコンテンツが増加すると考えられる。例えば、サイトの概要をメタデータとして記述するＲＳＳ（RDF Site Summary）は、サイトの更新情報を公開する手段として広く利用されるようになっている。【０００４】
また、ウェブサーバが提供するサービスの一つとして、ユーザが閲覧を希望するＲＳＳなどのウェブコンテンツや、検索エンジンのクエリ入力インタフェイスなどを画面上に登録し、レイアウトを設定して、一画面上に表示するサービスが提供されている。
【特許文献１】特開２００１−２９０８０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、画面に表示可能なコンテンツの種類は予めサーバ側で決められており、ユーザが自由に任意のコンテンツを表示できるわけではない。また、画面レイアウトの自由度も低く、ユーザが好みのレイアウトを自由に設定できるわけではない。そのため、ユーザが所望のコンテンツを所望のレイアウトで表示させることが可能な柔軟で自由度の高いサービスの提供が望まれている。【０００６】
本発明はこうした状況に鑑みてなされたものであり、その目的は、複数の文書を統合して表示する画面を提供する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の文書処理装置は、ネットワークを介してサーバから複数のＸＭＬ文書を取得する文書取得部と、前記複数のＸＭＬ文書を同一画面上に表示するための規則を規定する第１の定義ファイルを取得する定義ファイル取得部と、前記定義ファイルに規定された前記規則にしたがって、前記複数のＸＭＬ文書を同一画面上に表示する表示制御部と、を備える。【０００８】
前記定義ファイル取得部は、前記複数のＸＭＬ文書のそれぞれを、それぞれのＸＭＬ文書に割り当てられた表示領域に表示するための規則を規定する第２の定義ファイルを更に取得し、前記表示制御部は、前記第１の定義ファイルの規則により前記複数のＸＭＬ文書の表示領域のレイアウトを決定し、前記第２の定義ファイルの規則によりそれぞれの表示領域に前記ＸＭＬ文書を表示させてもよい。【０００９】
特定のタグセットで記述された文書を処理する処理系と、前記第２の定義ファイルに記述された規則にしたがって、前記ＸＭＬ文書を、前記処理系により処理可能なタグセットにマッピングし、マッピングされた構成要素間の対応を保持する変換部と、を更に備えてもよい。【００１０】
前記画面上に表示された複数のＸＭＬ文書の保存を制御する保存制御部を更に備えてもよい。前記保存制御部は、前記変換部により変換される前のＸＭＬ文書を保存してもよい。【００１１】
前記ＸＭＬ文書に含まれるデータに関する条件にしたがって表示形式を変更する規則を保持する条件保持部を更に備えてもよい。前記表示制御部は、前記ＸＭＬ文書に含まれるデータが前記条件に合致するときに、前記規則にしたがって前記ＸＭＬ文書の表示形式を変更してもよい。【００１２】
前記ＸＭＬ文書の少なくとも一部を更新する更新制御部を更に備えてもよい。前記更新制御部は、更新すべき前記ＸＭＬ文書の指定をユーザから受け付け、指定されたＸＭＬ文書を前記文書取得部に再取得させ、前記表示制御部に表示させてもよい。【００１３】
前記複数のＸＭＬ文書を表示する画面の編集要求を受け付けるためのインタフェイスを提供する画面編集部を更に備えてもよい。前記画面編集部は、前記画面に表示すべきＸＭＬ文書の登録要求を受け付け、前記第１の定義ファイルに、要求された前記ＸＭＬ文書を前記画面に表示するための規則を記述してもよい。【００１４】
前記画面編集部は、前記画面における前記ＸＭＬ文書の表示領域のレイアウトの変更要求を受け付け、前記第１の定義ファイルの規則を編集してもよい。【００１５】
本発明の別の態様は、文書処理方法である。この方法は、ネットワークを介してサーバから複数のＸＭＬ文書を取得するステップと、前記複数のＸＭＬ文書を同一画面上に表示するための規則を規定する第１の定義ファイルを取得するステップと、前記定義ファイルに規定された前記規則にしたがって、前記複数のＸＭＬ文書を同一画面上に表示するステップと、を備える。【００１６】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１７】
本発明によれば、複数の文書を統合して表示する画面を提供することができる。
【図面の簡単な説明】
【００１８】
【図１】前提技術に係る文書処理装置の構成を示す図である。
【図２】文書処理装置により編集されるＸＭＬ文書の例を示す図である。
【図３】図２に示したＸＭＬ文書をＨＴＭＬで記述された表にマッピングする例を示す図である。
【図４（ａ）】図２に示したＸＭＬ文書を図３に示した表にマッピングするための定義ファイルの例を示す図である。
【図４（ｂ）】図２に示したＸＭＬ文書を図３に示した表にマッピングするための定義ファイルの例を示す図である。
【図５】図２に示したＸＭＬ文書を、図３に示した対応によりＨＴＭＬにマッピングして表示した画面の例を示す図である。
【図６】ユーザが定義ファイルを生成するために、定義ファイル生成部がユーザに提示するグラフィカルユーザインターフェースの例を示す図である。
【図７】定義ファイル生成部により生成された画面レイアウトの他の例を示す図である。
【図８】文書処理装置によるＸＭＬ文書の編集画面の一例を示す図である。
【図９】文書処理装置により編集されるＸＭＬ文書の他の例を示す図である。
【図１０】図９に示した文書を表示した画面の例を示す図である。
【図１１】実施の形態に係る文書処理装置の構成を示す図である。
【図１２】コンテンツ統合ユニットの内部構成を示す図である。
【図１３】表示制御部により表示されたコンテンツ統合画面の例を示す図である。
【図１４】表示条件保持部に保持された条件が適用されて表示されたコンテンツ統合画面の例を示す図である。
【図１５】更新制御部によりコンテンツの一部が更新されたときのコンテンツ統合画面の例を示す図である。
【図１６】連携制御部によりデータが連携されたコンテンツ統合画面の例を示す図である。
【符号の説明】
【００１９】
２０  文書処理装置、２２  主制御ユニット、２４  編集ユニット、２５  ウェブサーバ、２７  検索エンジン、３０  ＤＯＭユニット、３２  ＤＯＭ提供部、３４  ＤＯＭ生成部、３６  出力部、４０  ＣＳＳユニット、４２  ＣＳＳ解析部、４４  ＣＳＳ提供部、４６  レンダリング部、５０  ＨＴＭＬユニット、５２，６２  制御部、５４，６４  編集部、５６，６６  表示部、６０  ＳＶＧユニット、７０  コンテンツ統合ユニット、７１  コンテンツ取得部、７３  表示制御部、７４  表示条件保持部、７５  更新制御部、７６  保存制御部、７７  連携制御部、８０  ＶＣユニット、８２  マッピング部、８４  定義ファイル取得部、８６  定義ファイル生成部、１００  文書処理装置。
【発明を実施するための最良の形態】
【００２０】
（前提技術）
図１は、前提技術に係る文書処理装置２０の構成を示す。文書処理装置２０は、文書内のデータが階層構造を有する複数の構成要素に分類された構造化文書を処理するが、本前提技術では構造化文書の一例としてＸＭＬ文書を処理する例について説明する。文書処理装置２０は、主制御ユニット２２、編集ユニット２４、ＤＯＭユニット３０、ＣＳＳユニット４０、ＨＴＭＬユニット５０、ＳＶＧユニット６０、及び変換部の一例であるＶＣユニット８０を備える。これらの構成は、ハードウエアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。【００２１】
主制御ユニット２２は、プラグインのロードや、コマンド実行のフレームワークを提供する。編集ユニット２４は、ＸＭＬ文書を編集するためのフレームワークを提供する。文書処理装置２０における文書の表示及び編集機能は、プラグインにより実現されており、文書の種別に応じて必要なプラグインが主制御ユニット２２又は編集ユニット２４によりロードされる。主制御ユニット２２又は編集ユニット２４は、処理対象となるＸＭＬ文書の名前空間を参照して、ＸＭＬ文書がいずれのボキャブラリにより記述されているかを判別し、そのボキャブラリに対応した表示又は編集用のプラグインをロードして表示や編集を実行させる。例えば、文書処理装置２０には、ＨＴＭＬ文書の表示及び編集を行うＨＴＭＬユニット５０、ＳＶＧ文書の表示及び編集を行うＳＶＧユニット６０など、ボキャブラリ（タグセット）ごとに表示系及び編集系がプラグインとして実装されており、ＨＴＭＬ文書を編集するときはＨＴＭＬユニット５０が、ＳＶＧ文書を編集するときはＳＶＧユニット６０が、それぞれロードされる。後述するように、ＨＴＭＬとＳＶＧの双方の構成要素を含む複合文書が処理対象となっている場合は、ＨＴＭＬユニット５０とＳＶＧユニット６０の双方がロードされる。【００２２】
このような構成によれば、ユーザは、必要な機能のみを選択してインストールし、後から適宜機能を追加又は削除することができるので、プログラムを格納するハードディスクなどの記録媒体の記憶領域を有効に活用することができ、また、プログラム実行時にも、メモリの浪費を防ぐことができる。また、機能拡張性に優れており、開発主体としても、プラグインの形で新たなボキャブラリに対応することが可能なので開発が容易となり、ユーザとしても、プラグインの追加により容易かつ低コストにて機能を追加することができる。【００２３】
編集ユニット２４は、ユーザインターフェースを介してユーザから編集指示のイベントを受け付け、そのイベントを適切なプラグインなどに通知するともに、イベントの再実行（リドゥ）又は実行の取消（アンドゥ）などの処理を制御する。【００２４】
ＤＯＭユニット３０は、ＤＯＭ提供部３２、ＤＯＭ生成部３４、及び出力部３６を含み、ＸＭＬ文書をデータとして扱うときのアクセス方法を提供するために定められた文書オブジェクトモデル（Document Object Model：ＤＯＭ）に準拠した機能を実現する。ＤＯＭ提供部３２は、編集ユニット２４に定義されているインタフェースを満たすＤＯＭの実装である。ＤＯＭ生成部３４は、ＸＭＬ文書からＤＯＭツリーを生成する。後述するように、処理対象となるＸＭＬ文書が、ＶＣユニット８０により他のボキャブラリにマッピングされる場合は、マッピング元のＸＭＬ文書に対応するソースツリーと、マッピング先のＸＭＬ文書に対応するデスティネーションツリーが生成される。出力部３６は、例えば編集終了時に、ＤＯＭツリーをＸＭＬ文書として出力する。【００２５】
ＣＳＳユニット４０は、ＣＳＳ解析部４２、ＣＳＳ提供部４４、及びレンダリング部４６を含み、ＣＳＳに準拠した表示機能を提供する。ＣＳＳ解析部４２は、ＣＳＳの構文を解析するパーサの機能を有する。ＣＳＳ提供部４４は、ＣＳＳオブジェクトの実装であり、ＤＯＭツリーに対してＣＳＳのカスケード処理を行う。レンダリング部４６は、ＣＳＳのレンダリングエンジンであり、ＣＳＳを用いてレイアウトされるＨＴＭＬなどのボキャブラリで記述された文書の表示に用いられる。【００２６】
ＨＴＭＬユニット５０は、ＨＴＭＬにより記述された文書を表示又は編集する。ＳＶＧユニット６０は、ＳＶＧにより記述された文書を表示又は編集する。これらの表示／編集系は、プラグインの形で実現されており、それぞれ、文書を表示する表示部（Canvas）５６、６６、編集指示を含むイベントを送受信する制御部（Editlet）５２、６２、編集コマンドを受けてＤＯＭに対して編集を行う編集部（Zone）５４、６４を備える。制御部５２又は６２が外部からＤＯＭツリーの編集コマンドを受け付けると、編集部５４又は６４がＤＯＭツリーを変更し、表示部５６又は６６が表示を更新する。これらは、ＭＶＣ（Model-View-Controller）と呼ばれるフレームワークに類似する構成をとっており、概ね、表示部５６及び６６が「View」に、制御部５２及び６２が「Controller」に、編集部５４及び６４とＤＯＭの実体が「Model」に、それぞれ対応する。本前提技術の文書処理装置２０では、ＸＭＬ文書をツリー表示形式で編集するだけでなく、それぞれのボキャブラリに応じた編集を可能とする。例えば、ＨＴＭＬユニット５０は、ＨＴＭＬ文書をワードプロセッサに類似した方式で編集するためのユーザインターフェースを提供し、ＳＶＧユニット６０は、ＳＶＧ文書を画像描画ツールに類似した方式で編集するためのユーザインターフェースを提供する。【００２７】
ＶＣユニット８０は、マッピング部８２、定義ファイル取得部８４、及び定義ファイル生成部８６を含み、あるボキャブラリにより記述された文書を、他のボキャブラリにマッピングすることにより、マッピング先のボキャブラリに対応した表示編集用プラグインで文書を表示又は編集するためのフレームワークを提供する。本前提技術では、この機能を、ボキャブラリコネクション（Vocabulary Connection：ＶＣ）と呼ぶ。定義ファイル取得部８４は、マッピングの定義を記述したスクリプトファイルを取得する。この定義ファイルは、ノードごとに、ノード間の対応（コネクション）を記述する。このとき、各ノードの要素値や属性値の編集の可否を指定してもよい。また、ノードの要素値や属性値を用いた演算式を記述してもよい。これらの機能については、後で詳述する。マッピング部８２は、定義ファイル取得部８４が取得したスクリプトファイルを参照して、ＤＯＭ生成部３４にデスティネーションツリーを生成させ、ソースツリーとデスティネーションツリーの対応関係を管理する。定義ファイル生成部８６は、ユーザが定義ファイルを生成するためのグラフィカルユーザインターフェースを提供する。【００２８】
ＶＣユニット８０は、ソースツリーとデスティネーションツリーの間のコネクションを監視し、表示を担当するプラグインにより提供されるユーザインタフェースを介してユーザから編集指示を受け付けると、まずソースツリーの該当するノードを変更する。ＤＯＭユニット３０が、ソースツリーが変更された旨のミューテーションイベントを発行すると、ＶＣユニット８０は、そのミューテーションイベントを受けて、ソースツリーの変更にデスティネーションツリーを同期させるべく、変更されたノードに対応するデスティネーションツリーのノードを変更する。デスティネーションツリーを表示／編集するプラグイン、例えばＨＴＭＬユニット５０は、デスティネーションツリーが変更された旨のミューテーションイベントを受けて、変更されたデスティネーションツリーを参照して表示を更新する。このような構成により、少数のユーザにより利用されるローカルなボキャブラリにより記述された文書であっても、他のメジャーなボキャブラリに変換することで、文書を表示することができるとともに、編集環境が提供される。【００２９】
文書処理装置２０により文書を表示又は編集する動作について説明する。文書処理装置２０が処理対象となる文書を読み込むと、ＤＯＭ生成部３４が、そのＸＭＬ文書からＤＯＭツリーを生成する。また、主制御ユニット２２又は編集ユニット２４は、名前空間を参照して文書を記述しているボキャブラリを判別する。そのボキャブラリに対応したプラグインが文書処理装置２０にインストールされている場合は、そのプラグインをロードして、文書を表示／編集させる。プラグインがインストールされていない場合は、マッピングの定義ファイルが存在するか否かを確認する。定義ファイルが存在する場合、定義ファイル取得部８４が定義ファイルを取得し、その定義に従って、デスティネーションツリーが生成され、マッピング先のボキャブラリに対応するプラグインにより文書が表示／編集される。複数のボキャブラリを含む複合文書である場合は、後述するように、それぞれのボキャブラリに対応したプラグインにより、文書の該当箇所がそれぞれ表示／編集される。定義ファイルが存在しない場合は、文書のソース又はツリー構造を表示し、その表示画面において編集が行われる。【００３０】
図２は、処理対象となるＸＭＬ文書の例を示す。このＸＭＬ文書は、生徒の成績データを管理するために用いられる。ＸＭＬ文書のトップノードである構成要素「成績」は、配下に、生徒ごとに設けられた構成要素「生徒」を複数有する。構成要素「生徒」は、属性値「名前」と、子要素「国語」、「数学」、「理科」、「社会」を有する。属性値「名前」は、生徒の名前を格納する。構成要素「国語」、「数学」、「理科」、「社会」は、それぞれ、国語、数学、理科、社会の成績を格納する。例えば、名前が「Ａ」である生徒の国語の成績は「９０」、数学の成績は「５０」、理科の成績は「７５」、社会の成績は「６０」である。以下、この文書で使用されているボキャブラリ（タグセット）を、「成績管理ボキャブラリ」と呼ぶ。【００３１】
本前提技術の文書処理装置２０は、成績管理ボキャブラリの表示／編集に対応したプラグインを有しないので、この文書をソース表示、ツリー表示以外の方法で表示するためには、前述したＶＣ機能が用いられる。すなわち、成績管理ボキャブラリを、プラグインが用意された別のボキャブラリ、例えば、ＨＴＭＬやＳＶＧなどにマッピングするための定義ファイルを用意する必要がある。ユーザ自身が定義ファイルを作成するためのユーザインターフェースについては後述することにして、ここでは、既に定義ファイルが用意されているとして説明を進める。【００３２】
図３は、図２に示したＸＭＬ文書をＨＴＭＬで記述された表にマッピングする例を示す。図３の例では、成績管理ボキャブラリの「生徒」ノードを、ＨＴＭＬにおける表（「TABLE」ノード）の行（「TR」ノード）に対応づけ、各行の第１列には属性値「名前」を、第２列には「国語」ノードの要素値を、第３列には「数学」ノードの要素値を、第４列には「理科」ノードの要素値を、第５列には「社会」ノードの要素値を、それぞれ対応付ける。これにより、図２に示したＸＭＬ文書を、ＨＴＭＬの表形式で表示することができる。また、これらの属性値及び要素値は、編集可能であることが指定されており、ユーザがＨＴＭＬによる表示画面上で、ＨＴＭＬユニット５０の編集機能により、これらの値を編集することができる。第６列には、国語、数学、理科、社会の成績の加重平均を算出する演算式が指定されており、生徒の成績の平均点が表示される。このように、定義ファイルに演算式を指定可能とすることにより、より柔軟な表示が可能となり、編集時のユーザの利便性を向上させることができる。なお、第６列は、編集不可であることが指定されており、平均点のみを個別に編集することができないようにしている。このように、マッピング定義において、編集の可否を指定可能とすることにより、ユーザの誤操作を防ぐことができる。【００３３】
図４（ａ）及び図４（ｂ）は、図２に示したＸＭＬ文書を図３に示した表にマッピングするための定義ファイルの例を示す。この定義ファイルは、定義ファイル用に定義されたスクリプト言語により記述される。定義ファイルには、コマンドの定義と、表示のテンプレートが記述されている。図４（ａ）（ｂ）の例では、コマンドとして、「生徒の追加」と「生徒の削除」が定義されており、それぞれ、ソースツリーにノード「生徒」を挿入する操作と、ソースツリーからノード「生徒」を削除する操作が対応付けられている。また、テンプレートとして、表の第１行に「名前」、「国語」などの見出しが表示され、第２行以降に、ノード「生徒」の内容が表示されることが記述されている。ノード「生徒」の内容を表示するテンプレート中、「text-of」と記述された項は「編集可能」であることを意味し、「value-of」と記述された項は「編集不可能」であることを意味する。また、ノード「生徒」の内容を表示する行のうち、第６列には、「(src:国語 + src:数学 + src:理科 + src:社会) div 4」という計算式が記述されており、生徒の成績の平均が表示されることを意味する。【００３４】
図５は、図２に示した成績管理ボキャブラリで記述されたＸＭＬ文書を、図３に示した対応によりＨＴＭＬにマッピングして表示した画面の例を示す。表９０の各行には、左から、各生徒の名前、国語の成績、数学の成績、理科の成績、社会の成績、及び平均点が表示されている。ユーザは、この画面上で、ＸＭＬ文書を編集することができる。たとえば、第２行第３列の値を「７０」に変更すると、このノードに対応するソースツリーの要素値、すなわち、生徒「Ｂ」の数学の成績が「７０」に変更される。このとき、ＶＣユニット８０は、デスティネーションツリーをソースツリーに追従させるべく、デスティネーションツリーの該当箇所を変更し、ＨＴＭＬユニット５０が、変更されたデスティネーションツリーに基づいて表示を更新する。したがって、画面上の表においても、生徒「Ｂ」の数学の成績が「７０」に変更され、更に、平均点が「５５」に変更される。【００３５】
図５に示した画面には、図４（ａ）（ｂ）に示した定義ファイルに定義されたように、「生徒の追加」及び「生徒の削除」のコマンドがメニューに表示される。ユーザがこれらのコマンドを選択すると、ソースツリーにおいて、ノード「生徒」が追加又は削除される。このように、本前提技術の文書処理装置２０では、階層構造の末端の構成要素の要素値を編集するのみではなく、階層構造を編集することも可能である。このようなツリー構造の編集機能は、コマンドの形でユーザに提供されてもよい。また、例えば、表の行を追加又は削除するコマンドが、ノード「生徒」を追加又は削除する操作に対応づけられてもよい。また、他のボキャブラリを埋め込むコマンドがユーザに提供されてもよい。この表を入力用テンプレートとして、穴埋め形式で新たな生徒の成績データを追加することもできる。以上のように、ＶＣ機能により、ＨＴＭＬユニット５０の表示／編集機能を利用しつつ、成績管理ボキャブラリで記述された文書を編集することが可能となる。【００３６】
図６は、ユーザが定義ファイルを生成するために、定義ファイル生成部８６がユーザに提示するグラフィカルユーザインタフェースの例を示す。画面左側の領域９１には、マッピング元のＸＭＬ文書がツリー表示されている。画面右側の領域９２には、マッピング先のＸＭＬ文書の画面レイアウトが示されている。この画面レイアウトは、ＨＴＭＬユニット５０により編集可能となっており、ユーザは、画面右側の領域９２において、文書を表示するための画面レイアウトを作成する。そして、例えば、マウスなどのポインティングデバイスにより、画面左側の領域９１に表示されたマッピング元のＸＭＬ文書のノードを、画面右側の領域９２に表示されたＨＴＭＬによる画面レイアウト中へドラッグ＆ドロップ操作を行うことにより、マッピング元のノードと、マッピング先のノードとのコネクションが指定される。例えば、要素「生徒」の子要素である「数学」を、ＨＴＭＬ画面の表９０の第１行第３列にドロップすると、「数学」ノードと、３列目の「ＴＤ」ノードの間にコネクションが張られる。各ノードには、編集の可否が指定できるようになっている。また、表示画面中には、演算式を埋め込むこともできる。画面の編集が終わると、定義ファイル生成部８６は、画面レイアウトとノード間のコネクションを記述した定義ファイルを生成する。【００３７】
ＸＨＴＭＬ、ＭａｔｈＭＬ、ＳＶＧなどの主要なボキャブラリに対応したビューワやエディタは既に開発されているが、図２に示した文書のようなオリジナルなボキャブラリで記述された文書に対応したビューワやエディタを開発するのは現実的でない。しかし、上記のように、他のボキャブラリにマッピングするための定義ファイルを作成すれば、ビューワやエディタを開発しなくても、ＶＣ機能を利用して、オリジナルなボキャブラリで記述された文書を表示・編集することができる。【００３８】
図７は、定義ファイル生成部８６により生成された画面レイアウトの他の例を示す。図７の例では、成績管理ボキャブラリで記述されたＸＭＬ文書を表示するための画面に、表９０と、円グラフ９３が作成されている。この円グラフ９３は、ＳＶＧにより記述される。後述するように、本前提技術の文書処理装置２０は、一つのＸＭＬ文書内に複数のボキャブラリを含む複合文書を処理することができるので、この例のように、ＨＴＭＬで記述された表９０と、ＳＶＧで記述された円グラフ９３とを、一つの画面上に表示することができる。【００３９】
図８は、文書処理装置２０によるＸＭＬ文書の編集画面の一例を示す。図８の例では、一つの画面が複数に分割されており、それぞれの領域において、処理対象となるＸＭＬ文書を異なる複数の表示形式により表示している。領域９４には、文書のソースが表示されており、領域９５には、文書のツリー構造が表示されており、領域９６には、図５に示したＨＴＭＬにより記述された表が表示されている。これらのいずれの画面上においても、文書の編集が可能であり、いずれかの画面上でユーザが編集を行うと、ソースツリーが変更され、それぞれの画面の表示を担当するプラグインが、ソースツリーの変更を反映すべく画面を更新する。具体的には、ソースツリーの変更を通知するミューテーションイベントのリスナーとして、それぞれの編集画面の表示を担当するプラグインの表示部を登録しておき、いずれかのプラグイン又はＶＣユニット８０によりソースツリーが変更されたときに、編集画面を表示中の全ての表示部が、発行されたミューテーションイベントを受け取って画面を更新する。このとき、プラグインがＶＣ機能により表示を行っている場合は、ＶＣユニット８０がソースツリーの変更に追従してデスティネーションツリーを変更した後、変更されたデスティネーションツリーを参照してプラグインの表示部が画面を更新する。【００４０】
例えば、ソース表示及びツリー表示を、専用のプラグインにより実現している場合は、ソース表示用プラグインとツリー表示用プラグインは、デスティネーションツリーを用いず、直接ソースツリーを参照して表示を行う。この場合、いずれかの画面において編集が行われると、ソース表示用プラグインとツリー表示用プラグインは、変更されたソースツリーを参照して画面を更新し、領域９６の画面を担当しているＨＴＭＬユニット５０は、ソースツリーの変更に追従して変更されたデスティネーションツリーを参照して画面を更新する。【００４１】
ソース表示及びツリー表示は、ＶＣ機能を利用して実現することもできる。すなわち、ソース、ツリー構造をＨＴＭＬによりレイアウトし、そのＨＴＭＬにＸＭＬ文書をマッピングして、ＨＴＭＬユニット５０により表示してもよい。この場合、ソース形式、ツリー形式、表形式の３つのデスティネーションツリーが生成されることになる。いずれかの画面において編集が行われると、ＶＣユニット８０は、ソースツリーを変更した後、ソース形式、ツリー形式、表形式の３つのデスティネーションツリーをそれぞれ変更し、ＨＴＭＬユニット５０は、それらのデスティネーションツリーを参照して、３つの画面を更新する。【００４２】
このように、一つの画面上に複数の表示形式で文書を表示することにより、ユーザの利便性を向上させることができる。例えば、ユーザは、ソース表示又はツリー表示により文書の階層構造を把握しつつ、表９０などを用いて視覚的に分かりやすい形式で文書を表示し、編集することができる。上記の例では、一つの画面を分割して複数の表示形式による画面を同時に表示したが、一つの画面に一つの表示形式による画面を表示し、表示形式をユーザの指示により切り替え可能としてもよい。この場合、主制御ユニット２２が、ユーザから表示形式の切り替え要求を受け付け、各プラグインに指示して表示を切り替える。【００４３】
図９は、文書処理装置２０により編集されるＸＭＬ文書の他の例を示す。図９に示したＸＭＬ文書では、ＳＶＧ文書の「foreignObject」タグの中にＸＨＴＭＬ文書が埋め込まれており、さらに、ＸＨＴＭＬ文書の中にＭａｔｈＭＬで記述された数式が入っている。このような場合、編集ユニット２４が、名前空間を参照して、適切な表示系に描画作業を振り分ける。図９の例では、編集ユニット２４は、まず、ＳＶＧユニット６０に四角形を描画させ、つづいて、ＨＴＭＬユニット５０にＸＨＴＭＬ文書を描画させる。さらに、図示しないＭａｔｈＭＬユニットに、数式を描画させる。こうして、複数のボキャブラリを包含する複合文書が適切に表示される。表示結果を図１０に示す。【００４４】
文書編集中、カーソル（キャリッジ）の位置に応じて、表示されるメニューを切り替えてもよい。すなわち、カーソルが、ＳＶＧ文書が表示された領域内に存在するときは、ＳＶＧユニット６０が提供するメニュー、又はＳＶＧ文書をマッピングするための定義ファイルに定義されたコマンドを表示し、カーソルが、ＸＨＴＭＬ文書が表示された領域内に存在するときは、ＨＴＭＬユニット５０が提供するメニュー、又はＸＨＴＭＬ文書をマッピングするための定義ファイルに定義されたコマンドを表示する。これにより、編集位置に応じて適切なユーザインターフェースを提供することができる。【００４５】
複合文書において、あるボキャブラリに対応する適切なプラグイン又はマッピング定義ファイルがなかった場合は、そのボキャブラリにより記述された部分は、ソース表示又はツリー表示されてもよい。従来、ある文書に他の文書を埋め込んだ複合文書を開くとき、埋め込まれた文書を表示するアプリケーションがインストールされていないと、その内容を表示することができなかったが、本前提技術では、表示用のアプリケーションが存在しなくても、テキストデータにより構成されたＸＭＬ文書をソース表示又はツリー表示することにより内容を把握することができる。これは、テキストベースであるＸＭＬなどの文書ならではの特徴といえる。【００４６】
データがテキストベースで記述されることの他の利点として、例えば、複合文書中の、あるボキャブラリにより記述される部分において、同一文書内の他のボキャブラリで記述された部分のデータを参照してもよい。また、文書内で検索を実行する時に、ＳＶＧなどの図に埋め込まれた文字列も検索対象とすることができる。【００４７】
あるボキャブラリにより記述された文書内に、他のボキャブラリのタグを用いてもよい。このＸＭＬ文書は、妥当（valid）ではないが、整形式（well-formed）であれば、有効なＸＭＬ文書として処理可能である。この場合、挿入された他のボキャブラリのタグは、定義ファイルによりマッピングされてもよい。例えば、ＸＨＴＭＬ文書中に、「重要」、「最重要」などのタグを使用し、これらのタグで囲まれた部分を強調表示してもよいし、重要度の順にソートして表示してもよい。【００４８】
図１０に示した編集画面において、ユーザにより文書が編集されると、編集された部分を担当するプラグイン又はＶＣユニット８０がソースツリーを変更する。ソースツリーには、ノードごとにミューテーションイベントのリスナーを登録できるようになっており、通常は、各ノードが属するボキャブラリに対応したプラグインの表示部又はＶＣユニット８０がリスナーとして登録される。ＤＯＭ提供部３２は、ソースツリーが変更されると、変更されたノードから上位の階層へたどって、登録されたリスナーがあれば、そのリスナーへミューテーションイベントを発行する。例えば、図９に示した文書において、＜ｈｔｍｌ＞ノードの下位のノードが変更された場合、＜ｈｔｍｌ＞ノードにリスナーとして登録されたＨＴＭＬユニット５０にミューテーションイベントが通知されるとともに、その上位の＜ｓｖｇ＞ノードにリスナーとして登録されたＳＶＧユニット６０にもミューテーションイベントが通知される。このとき、ＨＴＭＬユニット５０は、変更されたソースツリーを参照して表示を更新する。ＳＶＧユニット６０は、自身のボキャブラリに属するノードが変更されていないので、ミューテーションイベントを無視してもよい。【００４９】
編集の内容によっては、ＨＴＭＬユニット５０による表示の更新に伴って、全体のレイアウトが変わる可能性がある。この場合は、画面のレイアウトを管理する構成、例えば最上位のノードの表示を担当するプラグインにより、プラグインごとの表示領域のレイアウトが更新される。例えば、ＨＴＭＬユニット５０による表示領域が以前より大きくなった場合、ＨＴＭＬユニット５０は、まず自身の担当する部分を描画して、表示領域の大きさを決定する。そして、画面のレイアウトを管理する構成に、変更後の表示領域の大きさを通知し、レイアウトの更新を依頼する。画面のレイアウトを管理する構成は、通知を受けて、プラグインごとの表示領域を再レイアウトする。こうして、編集された部分の表示が適切に更新されるとともに、画面全体のレイアウトが更新される。【００５０】
（実施の形態）
実施の形態では、複数のウェブコンテンツを統合して表示する画面をユーザが自由に設計可能な環境を提供する技術を提案する。【００５１】
図１１は、実施の形態に係る文書処理装置１００の構成を示す図である。文書処理装置１００は、前提技術で説明した文書処理装置２０の構成に加えて、コンテンツ統合ユニット７０を備える。図１１の例では、文書処理装置１００は、ウェブサーバ２５に保持された、ＨＴＭＬやＸＭＬで記述されたウェブページを閲覧するウェブブラウザとして機能する。コンテンツ統合ユニット７０は、インターネット２９を介してウェブサーバ２５にウェブページなどのコンテンツの送信を要求し、コンテンツを取得する。また、コンテンツ統合ユニット７０は、インターネット２９を介して検索エンジン２７に検索のクエリを送信し、検索結果を取得する。コンテンツ統合ユニット７０は、こうして取得した複数のウェブコンテンツを統合して同一の画面２８（以下、「コンテンツ統合画面」という）上に表示する。【００５２】
コンテンツ統合ユニット７０は、ウェブページ、ＲＳＳなどのウェブコンテンツを表示する領域や、検索サービスの検索キーワードの入力画面などのインタフェイスを表示する領域などを画面上に自由に配置して、所望の情報を統合して閲覧可能な画面２８を表示する環境を提供する。このような機能は、例えば、前提技術で説明した定義ファイルとＶＣユニット８０により実現可能である。この場合、ウェブコンテンツや、ウェブアプリケーションやウェブサービスのインタフェイスなどを画面上に登録したり、画面のレイアウトを設定するために、定義ファイル生成部８６を利用可能である。【００５３】
図１２は、コンテンツ統合ユニット７０の内部構成を示す。コンテンツ統合ユニット７０は、コンテンツ取得部７１と、表示制御部７３と、表示条件保持部７４と、更新制御部７５と、保存制御部７６と、連携制御部７７と、を備える。【００５４】
コンテンツ取得部７１は、ウェブサーバ２５や検索エンジン２７などのウェブサービス提供サーバから、ウェブページなどのコンテンツを取得する。取得すべきコンテンツは、定義ファイルに記述されていてもよい。ユーザが、文書処理装置１００に保持された、コンテンツ統合画面２８を表示するための文書を開くと、その文書に対応づけられたコンテンツ統合用の第１の定義ファイルが定義ファイル取得部８４により取得され、その定義ファイル又は文書に記述されたコンテンツをコンテンツ取得部７１が取得する。取得するコンテンツは、ウェブサーバ２５が提供するウェブページであってもよいし、ＲＳＳであってもよいし、音楽や動画などのコンテンツであってもよいし、検索エンジン２７による検索結果などであってもよい。また、ウェブページは、ＨＴＭＬにより記述されていてもよいし、ＸＭＬの特定のボキャブラリ（タグセット）により記述されていてもよい。【００５５】
表示制御部７３は、コンテンツ取得部７１が取得した複数のコンテンツを、同一画面上に統合して表示する。コンテンツを表示するための表示規則は、定義ファイルに記述されていてもよい。例えば、それぞれのコンテンツの表示形式は、それぞれのコンテンツに対応づけられた第２の定義ファイルにより規定され、それらのコンテンツの表示領域を同一画面上にレイアウトするための表示規則は、上述したコンテンツ統合用の第１の定義ファイルに記述されてもよい。【００５６】
第１の定義ファイルは、画面上に表示される各コンテンツの表示領域のレイアウトを規定する。この第１の定義ファイルは、定義ファイル生成部８６が提供するＧＵＩにより編集されてもよい。例えば、マッピング先のボキャブラリとしてＸＨＴＭＬを選択する場合、ＨＴＭＬユニット５０の編集機能を利用して画面レイアウトを編集するＧＵＩを提供してもよい。ユーザは、このＧＵＩを用いて、各コンテンツの表示領域を自由に設定し、また、マウスのドラッグ＆ドロップなどにより表示領域の形状やレイアウトを自由に変更することができる。従来、複数のコンテンツをウェブページに登録して表示させるサービスがサーバにより提供される例はあったが、登録可能なウェブサービスやウェブコンテンツは予め決められており、画面レイアウトもユーザが自由に設定できるものではなかった。本実施の形態の文書処理装置１００では、ユーザ自身が第１の定義ファイルを編集して保持し、この第１の定義ファイルによりコンテンツ統合画面２８を表示させるので、任意のウェブコンテンツやウェブサービスをコンテンツ統合画面２８に表示させることができ、画面レイアウトもユーザが自由に設定することが可能である。こうして完成したコンテンツ統合画面２８をサーバ上で公開して、ポータルサイトを提供することもできる。【００５７】
また、各コンテンツを表示するための第２の定義ファイルを用意することにより、コンテンツごとに表示形式も自由に設定できる。第２の定義ファイルは、ＸＭＬ文書を、変換部の一例であるマッピング部８２により、文書処理装置１００にインストールされている処理系が処理可能なタグセットにマッピングする規則を記述したものである。この第２の定義ファイルも、定義ファイル生成部８６が提供するＧＵＩを用いて編集可能である。ウェブコンテンツがＨＴＭＬやＸＨＴＭＬにより記述されている場合など、ウェブコンテンツを記述したタグセットを処理可能な処理系が文書処理装置１００にインストールされている場合は、第２の定義ファイルは用意しなくてもよい。前提技術で説明したように、本実施の形態の文書処理装置１００は、複数のタグセットで記述された文書を処理可能であるから、ウェブサーバ２５がＸＭＬの様々なタグセットにより記述されたウェブコンテンツを配信する場合にも、必要に応じて第２の定義ファイルを用意することにより、適切にウェブコンテンツを処理することができる。サイトごとに独自のボキャブラリでウェブコンテンツが記述される場合は、そのボキャブラリを処理するための第２の定義ファイルを用意すればよい。また、本実施の形態の文書処理装置１００によれば、それぞれのタグセットを担当する処理系を用いて、表示されたウェブコンテンツを適宜編集することもできる。【００５８】
図１３は、表示制御部７３により表示されたコンテンツ統合画面２８の例を示す。コンテンツ統合画面２８には、ウェブサーバから取得した「今日のニュース」のコンテンツを表示する領域９７ａ、ウェブサーバから取得した「明日の天気」のコンテンツを表示する領域９７ｂ、検索エンジンにクエリを送信するためのインタフェイスと検索結果を表示する領域９７ｃが設けられている。コンテンツ取得部７１が、これらのコンテンツをそれぞれのサーバから取得し、表示制御部７３が、第１及び第２の定義ファイルに記述された表示規則にしたがって、これらのコンテンツの表示領域をレイアウトし、それぞれの表示領域にコンテンツを表示する。【００５９】
この画面において、定義ファイル生成部８６が、コンテンツ統合画面２８の編集要求を受け付ける画面編集部の機能を提供してもよい。定義ファイル生成部８６は、コンテンツ統合画面２８を記述したタグセットの処理系を利用して、コンテンツの表示領域のレイアウトの変更要求を受け付けて、第１の定義ファイルの表示規則を編集してもよい。例えば、領域９７ａの境界線をドラッグ＆ドロップすることにより、領域９７ａを拡大してもよい。また、領域９７ａを別の場所へドラッグ＆ドロップすることにより、領域９７ａの表示位置を変更してもよい。また、コンテンツ統合画面２８に表示すべきコンテンツの登録要求を受け付けてもよい。例えば、別のウインドウで表示中のコンテンツをコンテンツ統合画面２８上にドラッグ＆ドロップすることにより、そのコンテンツがコンテンツ統合画面２８に追加表示されるよう、第１の定義ファイルにコンテンツの表示規則を記述してもよい。【００６０】
このような技術により、異なるウェブサイトが提供する複数のコンテンツを同一画面に統合して表示することができる。また、任意のコンテンツを統合したコンテンツ統合画面を自由に設計することができる。さらに、それぞれのコンテンツの表示領域のレイアウトを自由に設計することができる。【００６１】
表示条件保持部７４は、コンテンツに含まれるデータに関する条件にしたがって、コンテンツの表示形式、例えば、色、形状、スタイル、などを変更する規則を保持する。表示制御部７３は、取得したコンテンツに含まれるデータが条件に合致するときに、表示条件保持部７４に保持された表示規則にしたがってコンテンツの表示形式を変更する。例えば、最新のニュースを取得して表示する場合に、ニュースのタイトルに「特許」という語があれば、そのニュースを拡大して強調表示するような条件が保持されてもよい。このような表示形式の変更に関する条件は、第１又は第２の定義ファイルに記述されてもよい。【００６２】
図１４は、表示条件保持部７４に保持された条件が適用されて表示されたコンテンツ統合画面２８の例を示す。コンテンツに「プロ野球」というキーワードが含まれていたときに、そのコンテンツを強調表示するという条件が表示条件保持部７４に保持されているとき、図１３に示したコンテンツ統合画面２８は、表示制御部７３により、図１４に示すように強調表示される。このような技術により、より表示の自由度が高まり、ユーザの利便性を向上させることができる。【００６３】
更新制御部７５は、ユーザからコンテンツ統合画面２８の更新を要求されたときに、必要に応じてコンテンツを再取得し、表示を更新する。更新制御部７５は、コンテンツ統合画面２８の一部分のみを更新してもよい。例えば、ユーザから更新すべき部分を受け付け、その部分のコンテンツをサーバから新たに取得して更新してもよいし、更新すべき部分を自動的に判断してもよい。更新制御部７５は、コンテンツがサーバ側で更新されたか否かをチェックし、更新されたコンテンツのみを再取得してもよい。また、更新制御部７５は、天気予報や株価情報など、更新されることが期待されるコンテンツについては、更新の頻度を予め登録しておき、更新されるタイミングに合わせてコンテンツを再取得してもよい。【００６４】
図１５は、更新制御部７５によりコンテンツの一部が更新されたときのコンテンツ統合画面２８の例を示す。図１３に示したコンテンツ統合画面２８において、領域９７ｂが指定されて更新が要求されたとき、更新制御部７５は、領域９７ｂに表示された「明日の天気」のコンテンツの再取得をウェブサーバに要求する。ウェブサーバから再取得されたコンテンツは、そのコンテンツを処理すべき処理系により再表示され、図１５に示すようにコンテンツ統合画面２８が更新される。【００６５】
このような技術により、更新が必要な部分だけを選択して更新することができるので、全画面を更新する場合に比べて更新に要する時間を短縮することができるとともに、通信負荷を軽減することができる。【００６６】
保存制御部７６は、ユーザから文書の保存要求を受け付けて、コンテンツ統合画面２８に表示中の文書を保存する。このとき、定義ファイルによりマッピングされて表示されている文書については、表示されているデスティネーションツリーの文書ではなく、元の文書であるソースツリーの文書が保存される。従来のブラウザでは、表示中のＨＴＭＬ文書を保存しており、ＨＴＭＬは主として表示を規定した言語であるから、保存した文書を再度開いて同様の画面を再現することはできても、文書中のデータの再利用には適さなかった。本実施の形態では、意味づけされたタグ構造を有するＸＭＬ文書を保存するので、データの再利用が容易である。また、表示形式を定義ファイルにより規定しているので、保存時と同様の表示を再現することもでき、定義ファイルを改変又は交換することにより、異なる表示形式で文書を表示させることもできる。【００６７】
表示中の各文書を担当する処理系により文書が編集されている場合は、編集後の文書を保存してもよい。例えば、表示中の文書に下線を引いたり、キーワードを抽出して強調表示したり、メモを残したりするなどした文書を保存してもよい。これにより、編集した内容を後で再現することができる。メモや強調表示などは、文書にアノテーションとして特別なタグを付して記述してもよいし、別のファイルに記録しておいてもよい。編集後の文書を保存した後、再び表示したときに、最新の情報に更新したいときは、更新する部分を選択して更新を指示すればよい。このとき、更新制御部７５は、保存時から更新されたコンテンツを再取得して表示する。【００６８】
連携制御部７７は、コンテンツ統合画面２８に表示される複数のコンテンツの間でのデータの連携を制御する。連携制御部７７は、コンテンツ統合画面２８に表示されるあるコンテンツに含まれる所定のデータを利用して、他のコンテンツの情報を取得するように、コンテンツ取得部７１を制御する。例えば、検索サービスのインタフェイスをコンテンツ統合画面２８上に表示しているとき、コンテンツ統合画面２８上に表示されている他のコンテンツやユーザが編集したメモなどに含まれる語を検索のキーワードと用いてもよい。文書処理装置１００は、ＸＭＬで記述された文書をＤＯＭの形式で保持して処理しており、ＤＯＭのインタフェイスを使って文書の任意の部分を参照可能であるという特徴を有しているため、このようなデータの連携が容易に実現できる。この技術は、モジュール内部のデータを参照できない「ブラックボックス」技術の対義語として、「ホワイトボックス」というべき技術である。【００６９】
ＨＴＭＬにより記述された従来のウェブページでこのようなデータ連携を実現しようとすると、データ連係のために予めフォーマットを決めてウェブページを構成したり、専用のソフトウェアを開発したりする必要があった。本実施の形態の文書処理装置１００では、ＸＭＬで記述された意味づけされたタグ構造の中からデータを参照することができるので、容易に検索キーワードなどを抽出することができる。また、定義ファイルなどによりデータの連携と動作を指定することができるので、専用のソフトウェアを新たに開発する必要がない。【００７０】
連携制御部７７は、定義ファイル又はソース文書に記述された検索エンジンのＵＲＬを参照して、検索エンジンにクエリを送信する。このとき、クエリの内容として、コンテンツ統合画面２８に表示されたコンテンツの任意のデータが指定されている。連携すべきデータの位置は、ｘｐａｔｈなどにより指定されてもよい。連携制御部７７は、指定されたデータを検索エンジンに検索キーワードとして渡し、検索結果を取得してソースツリーに追加し、コンテンツ統合画面２８に表示する。【００７１】
図１６は、連携制御部７７によりデータが連携されたコンテンツ統合画面２８の例を示す。コンテンツ統合画面２８には、Ｂｌｏｇの記事から特定の記事を検索した結果を表示する領域９８ａと、ブックストアのサイトから特定の本の情報を検索した結果を表示する領域９８ｂと、検索エンジンにより特定のキーワードを含むウェブページを検索した結果を表示する領域９８ｃが設けられている。図１６の例では、領域９８ａに表示されたＢｌｏｇの「今日の日記」の検索結果の中から、１位に表示された日記のタイトルが抽出され、領域９８ｂのブックストアの検索キーワードとして与えられる。ここでは、１位に表示された日記のタイトル「Ｊａｖａ（登録商標）」を検索キーワードとして、ブックストア内から本の情報が検索され、領域９８ｂに表示されている。また、領域９８ｂに表示された本の検索結果の中から、１位に表示された本の著者名が抽出され、領域９８ｃの検索エンジンの検索キーワードとして与えられる。ここでは、１位に表示された本「Ｊａｖａ（登録商標）のすべて」の著者である「山田太郎」を検索キーワードとして、検索エンジンにより検索された結果が領域９８ｃに表示されている。【００７２】
連携制御部７７は、データの連携を指定するためのＧＵＩを提供してもよい。例えば、この画面において、領域９８ｂに表示された「出版社」という語を選択して領域９８ｃにドラッグ＆ドロップすると、ブックストアの検索結果から出版社名が抽出されて、検索エンジンにキーワードとして与えられるように、定義ファイルが書き換えられてもよい。このとき、連携制御部７７は、１位に表示された本「Ｊａｖａ（登録商標）のすべて」の出版社である「Ａ出版」を検索キーワードとして検索エンジンに渡す。すると、領域９８ｃには、検索エンジンにより「Ａ出版」をキーワードとして検索された結果が表示される。【００７３】
連携制御部７７は、データの連携が指定されているときに、コンテンツ統合画面２８における表示領域のレイアウトを自動的に設定してもよい。例えば、連携制御部７７は、データの連係が指定されたコンテンツ同士が隣接して表示されるようにしてもよい。図１６に示した例において、ブックストアの検索結果の中から特定のタグが付された語をＢｌｏｇの検索キーワードとして連携させ、さらに、Ｂｌｏｇの検索結果の中から特定のタグが付された語を検索エンジンの検索キーワードとして連携させるようなデータの連携が指定されているとき、連携制御部７７は、コンテンツ統合画面２８において、それぞれの検索結果の表示領域を左から順に並べてレイアウトしてもよい。すなわち、領域９８ａにブックストアの検索結果を、領域９８ｂにＢｌｏｇの検索結果を、領域９８ｃに検索エンジンの検索結果を表示するように、画面レイアウトを設定してもよい。【００７４】
連携制御部７７は、コンテンツ統合画面２８に表示されたコンテンツのレイアウトの位置関係に基づいて、データの連携を自動的に指定してもよい。例えば、連携制御部７７は、隣接して表示された一方のコンテンツに含まれる所定のデータを利用して、他方のコンテンツの情報を取得するようにしてもよい。図１６に示した例において、ユーザがコンテンツ統合画面２８を設計するときに、領域９８ａにＢｌｏｇの検索画面を、領域９８ｂにブックストアの検索画面を、領域９８ｃに検索エンジンの検索画面を、それぞれ設定したとき、連携制御部７７は、Ｂｌｏｇの検索結果の中から所定のデータをブックストアの検索キーワードに指定し、ブックストアの検索結果の中から所定のデータを検索エンジンに指定するように、自動的に連携させてもよい。【００７５】
このような技術により、コンテンツ間のデータの連携を自由に設定することができ、コンテンツの利用におけるユーザの利便性をさらに向上させることができる。【００７６】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。【００７７】
実施の形態では、ＸＭＬ文書を処理する例について説明したが、本実施の形態の文書処理装置１００は、他のマークアップ言語、例えば、ＳＧＭＬ、ＨＴＭＬなどで記述された文書も同様に処理可能である。
【産業上の利用可能性】
【００７８】
本発明は、ＸＭＬ文書を処理する文書処理装置に利用することができる。
【図１】
2006137562.tif 000002
【図２】
2006137562.tif 000003
【図３】
2006137562.tif 000004
【図４（ａ）】
2006137562.tif 000005
【図４（ｂ）】
2006137562.tif 000006
【図５】
2006137562.tif 000007
【図６】
2006137562.tif 000008
【図７】
2006137562.tif 000009
【図８】
2006137562.tif 000010
【図９】
2006137562.tif 000011
【図１０】
2006137562.tif 000012
【図１１】
2006137562.tif 000013
【図１２】
2006137562.tif 000014
【図１３】
2006137562.tif 000015
【図１４】
2006137562.tif 000016
【図１５】
2006137562.tif 000017
【図１６】
2006137562.tif 000018
【国際調査報告】
2006137562.tif 000019
2006137562.tif 000020