(57)【要約】  【課題】  構造化文書へのテンプレートの適用を効率よく行えるようにする。  【解決手段】  テンプレートを記憶するテンプレート記憶手段１１と、テンプレートの選択を受けるテンプレート選択受付手段１２と、テンプレートの構造を解析するテンプレート構造解析手段１３と、コンテントエリアの選択を受けるコンテントエリア選択受付手段１４と、文書を記憶する文書記憶手段１５と、文書の選択を受ける文書選択受付手段１６と、文書の構造を解析する文書構造解析手段１７と、構造部品の選択を受ける構造部品選択受付手段１８と、選択されたコンテントエリアと構造部品を記憶する適用方法記憶手段１９と、コンテントエリアへの構造部品の挿入の文書構造上の正当性を検査する文書構造検査手段２０と、選択された構造部品と同様のものを他の文書の構造部品から検索する構造部品検索手段２２と、テンプレートの適用を行うテンプレート適用手段２１とを備えた。  【選択図】  図1
2005050078.tif 000002
【特許請求の範囲】
【請求項１】
所定の文書を構成する複数の構造部品のうちの特定の構造部品の選択を受け付ける構造部品選択受付手段と、
前記構造部品選択受付手段が選択を受け付けた前記特定の構造部品を所定のテンプレートに含まれる所定のコンテントエリアに挿入するテンプレート適用手段と
を備えたことを特徴とする構造化文書処理装置。
【請求項２】
前記所定のテンプレートに含まれるコンテントエリアのうちの前記特定の構造部品を挿入すべき前記所定のコンテントエリアの選択を受け付けるコンテントエリア選択受付手段を更に備えたことを特徴とする請求項１記載の構造化文書処理装置。
【請求項３】
前記構造部品選択受付手段が選択を受け付けた前記特定の構造部品の前記所定のコンテントエリアへの挿入が文書構造上正当かどうかを検査する文書構造検査手段を更に備えたことを特徴とする請求項１記載の構造化文書処理装置。
【請求項４】
前記所定の文書とは異なる他の文書を構成する構造部品の中から、前記構造部品選択受付手段が選択を受け付けた前記特定の構造部品と同じ位置付けの構造部品を検索する構造部品検索手段を更に備え、
前記テンプレート適用手段は、前記構造部品検索手段により検索された前記構造部品を前記所定のコンテントエリアに挿入することを特徴とする請求項１記載の構造化文書処理装置。
【請求項５】
前記構造部品検索手段は、前記構造部品選択受付手段が選択を受け付けた前記特定の構造部品と同じ位置付けの構造部品が発見できなかった場合に、前記他の文書を構成する構造部品の中から、当該特定の構造部品よりも上位の他の構造部品と同じ位置付けの構造部品を検索することを特徴とする請求項４記載の構造化文書処理装置。
【請求項６】
前記構造部品検索手段は、前記他の構造部品の前記所定のコンテントエリアへの挿入が文書構造上正当かどうかを判定し、文書構造上正当と判定された場合に、前記他の文書を構成する構造部品の中から、当該他の構造部品と同じ位置付けの構造部品を検索することを特徴とする請求項５記載の構造化文書処理装置。
【請求項７】
所定の文書の構造を表示する文書構造表示手段と、
前記文書構造表示手段により表示された前記構造に含まれる複数の構造部品のうちの特定の構造部品の選択に応じて、当該特定の構造部品を所定のテンプレートに含まれる所定のコンテントエリアに挿入した結果を表示する適用結果表示手段と
を備えたことを特徴とする構造化文書処理装置。
【請求項８】
前記所定のテンプレートに含まれるコンテントエリアの情報を表示するコンテントエリア情報表示手段と、
前記適用結果表示手段は、前記コンテントエリア情報表示手段により表示された前記情報のうちの特定の情報の選択に応じて、当該特定の構造部品を当該特定の情報に対応するコンテントエリアに挿入した結果を表示することを特徴とする請求項７記載の構造化文書処理装置。
【請求項９】
所定の記憶手段に記憶された所定の文書を構成する複数の構造部品のうちの特定の構造部品の選択を受け付けるステップと、
選択を受け付けた前記特定の構造部品を所定の記憶手段に記憶された所定のテンプレートに含まれる所定のコンテントエリアに挿入するステップと
を含むことを特徴とする構造化文書処理方法。
【請求項１０】
前記所定のテンプレートに含まれるコンテントエリアのうちの前記特定の構造部品を挿入すべき前記所定のコンテントエリアの選択を受け付けるステップを更に含むことを特徴とする請求項９記載の構造化文書処理方法。
【請求項１１】
前記所定のテンプレートの構造を示す第１の構造情報を生成するステップと、
前記所定の文書の構造を示す第２の構造情報を生成するステップと、
選択を受け付けた前記特定の構造部品の前記所定のコンテントエリアへの挿入が文書構造上正当かどうかを、前記第１の構造情報と前記第２の構造情報とに基づいて検査するステップと
を更に含むことを特徴とする請求項９記載の構造化文書処理方法。
【請求項１２】
前記所定の文書とは異なる他の文書の構造を示す第３の構造情報を生成するステップと、
前記第３の構造情報に含まれる構造部品の中から、選択を受け付けた前記特定の構造部品と同じ位置付けの構造部品を検索するステップと、
検索された前記構造部品を前記所定のコンテントエリアに挿入するステップと
を更に含むことを特徴とする請求項９記載の構造化文書処理方法。
【請求項１３】
前記構造部品を検索するステップは、
前記第３の構造情報に含まれる構造部品の中に、選択を受け付けた前記特定の構造部品と同じ位置付けの構造部品が存在するかどうかを判定するステップと、
同じ位置付けの構造部品が存在しない場合に、前記特定の構造部品を当該特定の構造部品よりも上位の他の構造部品に一時的に変更するステップと、
前記第３の構造情報に含まれる構造部品の中から、前記他の構造部品と同じ位置付けの構造部品を検索するステップと
を含むことを特徴とする請求項１２記載の構造化文書処理方法。
【請求項１４】
前記他の構造部品と同じ位置付けの構造部品を検索するステップでは、
前記他の構造部品の前記所定のコンテントエリアへの挿入が文書構造上正当かどうかを判定し、文書構造上正当と判定された場合に、前記第３の構造情報に含まれる構造部品の中から、当該他の構造部品と同じ位置付けの構造部品を検索することを特徴とする請求項１３記載の構造化文書処理方法。
【請求項１５】
コンピュータに、
所定の文書を構成する複数の構造部品のうちの特定の構造部品の選択を受け付ける機能と、
選択を受け付けた前記特定の構造部品を所定のテンプレートに含まれる所定のコンテントエリアに挿入する機能と
を実現させるためのプログラム。
【請求項１６】
コンピュータに、
前記所定のテンプレートに含まれるコンテントエリアのうちの前記特定の構造部品を挿入すべき前記所定のコンテントエリアの選択を受け付ける機能を更に実現させるための請求項１５記載のプログラム。
【請求項１７】
コンピュータに、
選択を受け付けた前記特定の構造部品の前記所定のコンテントエリアへの挿入が文書構造上正当かどうかを検査する機能を更に実現させるための請求項１５記載のプログラム。
【請求項１８】
コンピュータに、
前記所定の文書とは異なる他の文書を構成する構造部品の中から、選択を受け付けた前記特定の構造部品と同じ位置付けの構造部品を検索する機能と、
検索された前記構造部品を前記所定のコンテントエリアに挿入する機能と
を更に実現させるための請求項１７記載のプログラム。
【請求項１９】
前記構造部品を検索する機能において、
前記他の文書を構成する構造部品の中に、選択を受け付けた前記特定の構造部品と同じ位置付けの構造部品が存在するかどうかを判定する機能と、
同じ位置付けの構造部品が存在しない場合に、前記他の文書を構成する構造部品の中から、前記特定の構造部品よりも上位の前記他の構造部品と同じ位置付けの構造部品を検索する機能と
を実現させるための請求項１８記載のプログラム。
【請求項２０】
前記構造部品を検索する機能において、
前記他の構造部品の前記所定のコンテントエリアへの挿入が文書構造上正当かどうかを判定し、文書構造上正当と判定された場合に、前記他の文書を構成する構造部品の中から、当該他の構造部品と同じ位置付けの構造部品を検索する機能を更に実現するための請求項１９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、１又は複数の構造部品から構成される構造化文書を処理する構造化文書処理装置等に係り、より詳しくは、構造化文書へのテンプレートの適用を効率的に行う構造化文書処理装置等に関する。
【背景技術】
【０００２】
現在、インターネット上には、多数のＷｅｂサイトが存在する。Ｗｅｂサイトとしては、商用のものから私用のものまで様々なものがあるが、特に、商用のＷｅｂサイトでは、顧客獲得のため、Ｗｅｂページのデザインに工夫を凝らしたものが多い。ある企業のＷｅｂサイトに含まれる複数のＷｅｂページのデザインに統一感を持たせるようにすることも、そのような工夫の一例である。例えば、Ｗｅｂページの左側にメニューリストを配置し、上部に企業のロゴを記述した帯を配置した形式で、複数のＷｅｂページを統一するといったことがよく行われている。
しかしながら、このような統一感を持たせたＷｅｂページを作成した後で、その企業のロゴが変更になったとすると、Ｗｅｂサイトに含まれる全てのＷｅｂページを修正する必要が生じる。大企業になると、何千・何万のＷｅｂページが存在する場合もあり、かかる場合、その何千・何万のＷｅｂページの編集が必要となり、その作業量は膨大である。
【０００３】
そこで、Ｗｅｂページを実現するＨＴＭＬ文書等の構造化文書に対し、テンプレート(雛型文書)を適用することが考えられた(例えば、特許文献１参照。)。テンプレートとは、文書のレイアウトを揃えるため等に用いられるものであり、それが適用される複数の文書において共通に用いられる領域と、それが適用される個々の文書で異なる内容を設定したり自由に編集したりすることが可能な領域(以下、「コンテントエリア」という)とを明示した雛型文書のことである。テンプレートを使ってＷｅｂページを管理すると、企業のロゴの変更等があった場合であっても、そのロゴを含む１つのファイル(テンプレート)を書き換えるだけで、そのテンプレートが適用されたすべてのＷｅｂページが自動的に修正されるという利点がある。なお、特許文献１では、構造化文書から文書部品を抽出し、各文書部品をテンプレート中に挿入・置換して、文書合成処理を行うようにしている。
【０００４】
【特許文献１】特開２００１−２０９６４１号公報(第１０−２２頁、図２−９)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、テンプレートと構造化文書のそれぞれに１対１に対応するラベルを埋め込む必要があり、汎用的なテンプレートを用いることや、ラベルを埋め込んでいない構造化文書に対してテンプレートを適用することができないという問題点があった。
【０００６】
また、Ｗｅｂページ作成の際のＨＴＭＬ文書に対するテンプレートの適用を支援する製品も存在してはいるが、その作業には以下の制約がある。即ち、第一に、コンテントエリアに挿入する部分として文書の全体しか指定できないという制約である。また、第二に、テンプレートに複数のコンテントエリアが存在していたとしても、1つのコンテントエリアに対してしか文書の挿入を行えないという制約である。更に、第三に、テンプレートを同時に１つの文書についてのみ適用可能であり、同時に複数の文書について適用することはできないという制約である。
【０００７】
結局、従来、構造化文書へのテンプレートの適用を効率よく行えるような技術は存在していなかった。
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、構造化文書へのテンプレートの適用を効率よく行えるようにすることにある。
【課題を解決するための手段】
【０００８】
かかる目的のもと、本発明は、テンプレートのコンテントエリアに挿入する部分を、文書を構成する構造部品単位で指定できるようにしている。即ち、本発明の構造化文書処理装置は、所定の文書を構成する複数の構造部品のうちの特定の構造部品の選択を受け付ける構造部品選択受付手段と、この構造部品選択受付手段が選択を受け付けた特定の構造部品を所定のテンプレートに含まれる所定のコンテントエリアに挿入するテンプレート適用手段とを備える。
【０００９】
また、本発明は、テンプレートのコンテントエリアに挿入する部分を、文書を構成する構造部品単位で指定できるようにするためのユーザインターフェースとして捉えることもできる。その場合、本発明の構造化文書処理装置は、所定の文書の構造を表示する文書構造表示手段と、この文書構造表示手段により表示された構造に含まれる複数の構造部品のうちの特定の構造部品の選択に応じて、その特定の構造部品を所定のテンプレートに含まれる所定のコンテントエリアに挿入した結果を表示する適用結果表示手段とを備える。
【００１０】
更に、本発明は、構造化文書処理装置における、テンプレートのコンテントエリアに挿入する部分を、文書を構成する構造部品単位で指定できるようにするための、構造化文書処理方法として捉えることもできる。その場合、本発明の構造化文書処理方法は、所定の記憶手段に記憶された所定の文書を構成する複数の構造部品のうちの特定の構造部品の選択を受け付けるステップと、選択を受け付けた特定の構造部品を所定の記憶手段に記憶された所定のテンプレートに含まれる所定のコンテントエリアに挿入するステップとを含む。
【００１１】
一方、本発明は、構造化文書処理装置において、テンプレートのコンテントエリアに挿入する部分を、文書を構成する構造部品単位で指定できるようにするためのコンピュータプログラムとして捉えることもできる。その場合、本発明のプログラムは、コンピュータに、所定の文書を構成する複数の構造部品のうちの特定の構造部品の選択を受け付ける機能と、選択を受け付けた特定の構造部品を所定のテンプレートに含まれる所定のコンテントエリアに挿入する機能とを実現させるものである。
【発明の効果】
【００１２】
本発明によれば、構造化文書へのテンプレートの適用を効率よく行うことが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
まず、本実施の形態における構造化文書処理装置の構成について説明する。
図１は、本実施の形態における構造化文書処理装置の全体構成を示した図である。
図１に示すように、この構造化文書処理装置は、テンプレート記憶手段１１と、テンプレート選択受付手段１２と、テンプレート構造解析手段１３と、コンテントエリア選択受付手段１４と、文書記憶手段１５と、文書選択受付手段１６と、文書構造解析手段１７と、構造部品選択受付手段１８と、適用方法記憶手段１９と、文書構造検査手段２０と、テンプレート適用手段２１と、構造部品検索手段２２とを備えている。
【００１４】
テンプレート記憶手段１１は、テンプレートとして用いられる構造化文書(以下、単に「テンプレート」という)を記憶する手段であり、テンプレート選択受付手段１２は、ユーザが選択したテンプレートを特定する情報を受け付ける手段である。また、テンプレート構造解析手段１３は、指定されたテンプレートの文書構造を解析する手段であり、コンテントエリア選択受付手段１４は、テンプレートに存在するコンテントエリアのうちの特定のコンテントエリアの選択を受け付ける手段である。
一方、文書記憶手段１５は、テンプレートを適用する構造化文書(以下、単に「文書」という)を記憶する手段であり、文書選択受付手段１６は、ユーザが選択した文書を特定する情報を受け付ける手段である。また、文書構造解析手段１７は、指定された文書の構造を解析する手段であり、構造部品選択受付手段１８は、文書を構成する構造部品のうちの特定の構造部品の選択を受け付ける手段である。
【００１５】
また、適用方法記憶手段１９は、コンテントエリア選択受付手段１４が選択を受け付けたコンテントエリアの情報と、構造部品選択受付手段１８が選択を受け付けた構造部品の情報とを対応付けて記憶する手段である。文書構造検査手段２０は、指定されたコンテントエリアへの指定された構造部品の挿入が文書構造上正しいかどうかを検査する手段である。テンプレート適用手段２１は、メモリ上でテンプレートの適用を行う手段である。構造部品検索手段２２は、適用方法記憶手段１９に記憶された構造部品と同様の構造部品を、文書構造解析手段１７による解析結果に含まれる構造部品の中から検索する手段である。
【００１６】
なお、本実施の形態における構造化文書処理装置のハードウェア構成としては、一般的なコンピュータシステムと同様のものを採用することができる。即ち、中央処理装置(ＣＰＵ)と、メインメモリとを含み、これらがバスを介して補助記憶装置と接続されたようなものであればよい。ここで、補助記憶装置としては、ハードディスク、フレキシブルディスク、ＭＯ(Magneto Optical disk)、ＣＤ−ＲＯＭ等が想定される。
補助記憶装置には、本実施の形態を実現するためのコンピュータプログラムが記憶され、中央処理装置(ＣＰＵ)がこのコンピュータプログラムをメインメモリに読み込んで実行することにより、テンプレート選択受付手段１２、テンプレート構造解析手段１３、コンテントエリア選択受付手段１４、文書選択受付手段１６、文書構造解析手段１７、構造部品選択受付手段１８、文書構造検査手段２０、テンプレート適用手段２１、構造部品検索手段２２の各手段が実現される。
また、テンプレート記憶手段１１、文書記憶手段１５、適用方法記憶手段１９の各手段は、補助記憶装置を用いて実現することとしてもよいし、メインメモリを用いて実現することとしてもよい。
【００１７】
更に、構造化文書処理装置には、キーボードやポインティングデバイス等の入力装置が接続されていてもよいし、ディスプレイ等の出力装置が接続されていてもよい。更にまた、入力装置、出力装置として機能する端末装置が、構造化文書処理装置とは別に設けられ、これらの装置間が通信回線を介して接続された構成であってもよい。
なお、このいずれの構成においても、図１には示していないが、入力装置および出力装置とのインターフェースとして機能する手段が構造化文書処理装置に設けられる。例えば、選択されたテンプレートに含まれるコンテントエリアの情報を表示するコンテントエリア情報表示手段、選択された文書の構造を表示する文書構造表示手段、選択された構造部品を選択されたコンテントエリアに挿入した結果を表示する適用結果表示手段である。
【００１８】
次に、本実施の形態における構造化文書処理装置の動作について説明する。
図２は、本実施の形態の構造化文書処理装置における、単一文書に対するテンプレートの適用の動作を示したフローチャートである。
まず、ユーザが、テンプレート記憶手段１１に記憶されたテンプレートの中から今回適用したいテンプレートを選択すると、テンプレート選択受付手段１２が、その選択を受け付ける(ステップ２０１)。そして、テンプレート構造解析手段１３が、選択されたテンプレートの構造を解析し、解析結果を保持する(ステップ２０２)。なお、テンプレートの記述には、テンプレートのどの領域がコンテントエリアであるかを示す情報が含まれているので、コンテントエリア選択受付手段１４は、テンプレートの構造の解析結果を参照することにより、コンテントエリアの情報を出力することができる。
【００１９】
また、ユーザが、文書記憶手段１５に記憶された文書の中から、ステップ２０１で選択したテンプレートを適用したい文書を選択すると、文書選択受付手段１６が、その選択を受け付ける(ステップ２０３)。そして、文書構造解析手段１７が、選択された文書の構造を解析し、解析結果を保持する(ステップ２０４)。なお、文書の記述には、文書を構成する構造部品の情報が含まれているので、構造部品選択受付手段１８は、文書構造の解析結果を参照することにより、構造部品の情報を出力することができる。
【００２０】
次に、ステップ２０１、２０２における処理の結果として出力されたコンテントエリアの中から、ユーザが、構造部品を挿入したいコンテントエリアを選択すると、コンテントエリア選択受付手段１４が、その選択を受け付ける(ステップ２０５)。そして、コンテントエリア選択受付手段１４は、選択されたコンテントエリアの情報を適用方法記憶手段１９に記憶しておく。
また、ステップ２０３、２０４における処理の結果として出力された構造部品の中から、ユーザが、選択したコンテントエリアに挿入したい構造部品を選択すると、構造部品選択受付手段１８が、その選択を受け付ける(ステップ２０６)。そして、構造部品選択受付手段１８は、選択された構造部品の情報を、ステップ２０５における処理の際に記憶されたコンテントエリアの情報と対応付けて適用方法記憶手段１９に記憶しておく。即ち、適用方法記憶手段１９には、ステップ２０５で選択されたコンテントエリアの情報とステップ２０６で選択された構造部品の情報との対応情報が記憶されることになる。
【００２１】
更に、全てのコンテントエリアに対して挿入する構造部品が指定されたかどうかが判定され(ステップ２０７)、全てのコンテントエリアに対して指定されたと判定されなければ、ステップ２０５に戻り、全てのコンテントエリアに対して指定されたと判定されれば、ステップ２０８へ進む。
【００２２】
次に、文書構造検査手段２０が、適用方法記憶手段１９に記憶されたコンテントエリアの情報と構造部品の情報との対応情報等に基づいて、テンプレートの適用結果が文書構造上正しいかどうかを判定する(ステップ２０８)。ここで、テンプレートの適用結果が文書構造上正しいと判定された場合、テンプレート適用手段２１が、メモリ上で文書にテンプレートを適用し、その結果、テンプレートの適用結果のプレビューが出力される(ステップ２０９)。一方、テンプレートの適用結果が文書構造上正しいと判定されなかった場合は、その旨の警告が出力され(ステップ２１０)、その後、テンプレート適用手段２１が、メモリ上で文書にテンプレートを適用し、テンプレートの適用結果のプレビューが出力される(ステップ２０９)。
なお、ステップ２０８でテンプレートの適用結果が文書構造上正しいと判定されなかった場合は、テンプレートの適用を中止し、適用結果のプレビュー出力も行わないようにしてもよいが、文書構造上正しくないことを承知の上で適用結果のプレビューを確認したいという要求もあるので、ここでは、警告を出力後に適用結果のプレビューを出力するようにしている。
【００２３】
また、以上の説明では、テンプレート記憶手段１１がテンプレートを記憶する処理については言及しなかったが、テンプレート記憶手段１１には、構造化文書処理装置に存在する全てのテンプレートが記憶されているものとしてもよいし、構造化文書処理装置に存在する全てのテンプレートの中から幾つかのテンプレートを事前に選択するテンプレート事前選択ステップで選択されたテンプレートのみが記憶されているものとしてもよい。
更に、文書記憶手段１５が文書を記憶する処理についても上記説明では言及しなかったが、文書記憶手段１５には、構造化文書処理装置に存在する全ての文書が記憶されているものとしてもよいし、構造化文書処理装置に存在する全ての文書の中から幾つかの文書を事前に選択する文書事前選択ステップで選択された文書のみが記憶されているものとしてもよい。
【００２４】
一方、図３は、本実施の形態の構造化文書処理装置において、図２における単一文書(以下、「前回の文書」という)に対するテンプレートの適用と同様の適用を他の文書(以下、「今回の文書」という)に対して行う場合の動作を示したフローチャートである。なお、図２のステップ２０５、２０６の処理により、適用方法記憶手段１９には、コンテントエリアの情報と前回の文書における構造部品の情報との対応情報、即ち、前回の文書において、どのコンテントエリアにどの構造部品を挿入したかを示す情報が記憶されているものとする。
まず、文書記憶手段１５に記憶された文書の中から、今回の文書を、ユーザが選択するか、または、構造化文書処理装置が自動選択すると、文書選択受付手段１６が、その選択を受け付ける(ステップ３０１)。そして、文書構造解析手段１７が、選択された文書の構造を解析し、解析結果を保持する(ステップ３０２)。
【００２５】
次に、構造部品検索手段２２が、適用方法記憶手段１９に記憶された前回の文書に対する適用方法と同様の適用を今回の文書にも行うため、今回の文書を構成する構造部品の中から、各コンテントエリアに挿入するのに相応しい構造部品の検索処理を行う。具体的には、以下のような処理を行う。
即ち、構造部品検索手段２２は、適用方法記憶手段１９に記憶された対応情報(前回の文書において、どのコンテントエリアにどの構造部品を挿入したかを示す情報)のうちの１つに着目し、文書構造解析手段１７による解析結果に含まれる構造部品の中に、この対応情報に含まれる構造部品と同じ位置付けの構造部品が存在するかどうかを判定する(ステップ３０３)。
【００２６】
ここで、該当する構造部品が存在すると判定されなかった場合は、適用方法記憶手段１９に記憶された対応情報に含まれる構造部品を上位の構造部品に変更する(ステップ３０４)(以下、このような構造部品の変更を「拡大」という。)。そして、構造部品検索手段２２は、この拡大が文書構造上正しいかどうかを判定する(ステップ３０５)。ここで、拡大が文書構造上正しくない場合は、ステップ３０４に戻り、構造部品の再度の拡大を試みるが、拡大が文書構造上正しい場合は、ステップ３０３に進み、文書構造解析手段１７による解析結果に含まれる構造部品の中に、この拡大後の構造部品と同じ位置付けの構造部品が存在するかどうかを判定する(ステップ３０３)。
【００２７】
ステップ３０３において該当する構造部品が存在すると判定された場合は、コンテントエリアの情報とその構造部品の情報との対応情報(今回の文書において、どのコンテントエリアにどの構造部品を挿入すべきかを示す情報)を保持しつつ、全てのコンテントエリアに対して挿入すべき構造部品の検索を行ったかどうかを判定する(ステップ３０６)。ここで、全てのコンテントエリアに対して検索を行ったと判断されなければ、他のコンテントエリアに対してステップ３０３〜３０５の処理を行い、全てのコンテントエリアに対して検索を行ったと判断されれば、ステップ３０７へ進む。そして、最後に、テンプレート適用手段２１が、全てのコンテントエリアについての挿入すべき構造部品の情報に基づいて、メモリ上でテンプレートの適用を行う(ステップ３０７)。
【００２８】
以下、本実施の形態の動作について、具体例を用いて詳細に説明する。
本具体例では、テンプレートを適用する文書として、図４〜図６に示すものを用いる。図４〜図６においては、左側に文書の表示イメージを示している。即ち、このような表示を実現するＨＴＭＬ文書が文書記憶手段１５に記憶されているものとする。また、図４〜図６においては、右側に文書の構造も併せて示している。但し、文書の構造は、後述するように、その文書が選択された時点で文書構造解析手段１７により生成されるものとする。
なお、図４に示した文書(「index.html」)では、領域４０１が＜ＴＡＢＬＥ＞４１１に対応し、領域４０２〜４０４を合わせた領域が＜ＴＡＢＬＥ＞４１２に対応し、領域４０２、４０３、４０４がそれぞれ＜ＴＤ＞４１３、４１４、４１５に対応している。図５に示した文書(「page2.html」)では、領域５０１が＜ＴＡＢＬＥ＞５１１に対応し、領域５０２、５０３を合わせた領域が＜ＴＡＢＬＥ＞５１２に対応し、領域５０２、５０３がそれぞれ＜ＴＤ＞５１３、５１４に対応している。図６に示した文書(「page3.html」)では、領域６０１が＜ＴＡＢＬＥ＞６１１に対応し、領域６０２が枠として＜ＴＡＢＬＥ＞６１２に対応するとともに、中身として＜ＴＤ＞６１３に対応している。
【００２９】
また、本具体例では、これらの文書に適用するテンプレートとして、図７に示すものを用いる。図７においては、左側にテンプレートの表示イメージを示している。即ち、このような表示を実現するＨＴＭＬ文書がテンプレート記憶手段１１に記憶されているものとする。また、図７においては、右側にテンプレートの文書構造も併せて示している。但し、テンプレートの文書構造は、後述するように、そのテンプレートが選択された時点でテンプレート構造解析手段１３により生成されるものとする。
なお、図７に示したテンプレート(「template.htpl」)では、領域７０１が＜ＴＡＢＬＥ＞７１１に対応し、領域７０２〜７０４を合わせた領域が＜ＴＡＢＬＥ＞７１２に対応し、領域７０２、７０３、７０４がそれぞれ＜ＴＤ＞７１３、７１４、７１６に対応し、領域７０５が＜ＴＡＢＬＥ＞７１７に対応している。
また、テンプレートには、コンテントエリアを示す情報も含まれている。この情報は、例えば、ＨＴＭＬタグ中に配置された特別なタグにより実現することができる。図７の例では、ＨＴＭＬタグ<td>の中に特別なタグである<tpl:insert>７１５が配置されており、＜ＴＤ＞７１４に対応する領域７０３がコンテントエリアであることを示している。
更に、図７には示していないが、タグ７１５には、コンテントエリアの名前等の識別情報も記述されている。
【００３０】
以上述べたことを前提として、まず、図２のフローチャートに示す単一文書に対するテンプレートの適用の動作について具体的に説明する。
最初に、文書事前選択ステップを実行し、構造化文書処理装置に存在する数多くの文書の中からテンプレートを適用したい幾つかの文書を選択して文書記憶手段１５に記憶しておいてもよい。ここでは、上述した文書「index.html」、「page2.html」、「page3.html」がこのような処理を経て文書記憶手段１５に記憶されているものとする。その後、図２に示した処理が開始される。
処理開始時の画面イメージを図８に示す。図８の画面では、テンプレートのタイプとして、サンプルのテンプレートまたはユーザ定義のテンプレートのいずれかが指定できるようになっている。ここでは、図示するように、ユーザ定義のテンプレートを指定したとする。そうすると、一番下の領域に選択可能なテンプレート「template.htpl」のサムネイルが表示される。なお、本具体例では、１つのテンプレートしか想定していないので、１つのサムネイルのみが表示されているが、複数のテンプレートを想定した場合には、複数のサムネイルが表示されることとなる。
【００３１】
次に、ユーザがテンプレート「template.htpl」のサムネイルをクリックしたとする。そうすると、そのすぐ上の領域に、そのテンプレートのロケーション「/WebContent/theme」と、ファイル名「template.htpl」とが表示され、選択されたテンプレートを特定する情報が構造化文書処理装置に伝えられる。これにより、テンプレート選択受付手段１２が、この情報を受け付ける(ステップ２０１)。
【００３２】
また、この時、画面の表示には現れないが、テンプレート構造解析手段１３が、選択されたテンプレートの構造を解析する(ステップ２０２)。具体的には、図７の右側に示したテンプレートの文書構造の情報が生成される。
【００３３】
また、ステップ２０２における処理の後、または、その処理と並行して、選択されたテンプレートのどのコンテントエリアにどの文書のどの構造部品を挿入するかを指定するための画面(図９〜図１１に示す形式の画面)が表示される。なお、ステップ２０２でテンプレート構造解析手段１３により生成されたテンプレートの文書構造には、テンプレート「template.htpl」にコンテントエリア「main」が存在することを示す情報が含まれているので、この画面を最初に表示する際に、選択可能なコンテントエリアとして「main」が表示される。なお、本具体例では、１つのコンテントエリアしか存在しないテンプレートを用いることとしたので、１つのコンテントエリアの名前のみが表示されているが、複数のコンテントエリアが存在するテンプレートを用いることとすれば、複数のコンテントエリアの名前が表示されることとなる。
【００３４】
この画面上で、ユーザは、まず、どの文書にテンプレートを適用するかを指定する。
この時の画面イメージを図９に示す。図９の太線で囲まれた領域において、右端の下向き三角印の部分をクリックすると、選択可能な文書を識別するための情報(「/WebContent/index.html」、「/WebContent/page2.html」、「/WebContent/page3.html」)が表示されるが、ここでは、図示するように、「/WebContent/index.html」を選択したとする。そうすると、「Ｐｒｅｖｉｅｗ」の矢印で示すように、左下の領域にこの選択された文書のプレビューイメージが表示され、選択された文書を特定する情報が構造化文書処理装置に伝えられる。これにより、文書選択受付手段１６が、この情報を受け付ける(ステップ２０３)。
【００３５】
また、この時、画面の表示には現れないが、文書構造解析手段１７が、選択された文書の構造を解析する(ステップ２０４)。具体的には、図４の右側に示した文書構造の情報が生成される。
更に、文書構造解析手段１７による解析結果の文書構造には、文書「index.html」を構成する構造部品の情報が含まれているので、中央右の領域に文書「index.html」を構成する構造部品の情報が表示される。但し、初期表示においては、最上位の階層の構造部品のみが表示されている。
【００３６】
次に、ユーザは、構造部品の挿入を行うコンテントエリアを選択する。
この時の画面イメージを図１０に示す。図１０の太線で囲まれた領域において、コンテントエリア「main」を選択する。そうすると、選択されたコンテントエリアを特定する情報が構造化文書処理装置に伝えられ、コンテントエリア選択受付手段１４が、この情報を受け付ける(ステップ２０５)。
【００３７】
次に、ユーザは、選択したコンテントエリアに挿入する構造部品を、文書構造を示すツリーの中から選択する。
この時の画面イメージを図１１に示す。図１１の太線で囲まれた領域において、＜ＢＯＤＹ＞、その下の２番目の＜ＴＡＢＬＥ＞、その下の１番目の＜ＴＢＯＤＹ＞、その下の１番目の＜ＴＲ＞と辿ることにより、図示するような画面表示となる。ここでは、図示するように、＜ＴＲ＞の下の２番目の＜ＴＤ＞、即ち、図４の＜ＴＤ＞４１４を選択したとする。そうすると、選択された構造部品を特定する情報が構造化文書処理装置に伝えられ、構造部品選択受付手段１８が、この情報を受け付ける(ステップ２０６)。
本具体例においては、テンプレート「template.htpl」に存在するコンテントエリアは１つであり、未処理のコンテントエリアはないので(ステップ２０７でＹＥＳ)、次に、文書構造検査手段２０が、テンプレート「template.htpl」のコンテントエリア「main」に対する構造部品＜ＴＤ＞４１４の挿入が文書構造上正しいかどうかを判定する(ステップ２０８)。ここでは、後述する処理により、文書構造上正しいと判定されるので、テンプレート適用手段２１がテンプレートの適用を行い、図１１の右下の領域に示すようなプレビューが表示される(ステップ２０９)。
【００３８】
なお、本実施の形態では、ステップ２０５で選択されたコンテントエリアの情報と、ステップ２０６で選択された構造部品の情報との対応情報が、適用方法記憶手段１９に記憶されるが、その一例を図１２に示す。図１２では、コンテントエリアの情報として、コンテントエリアの名前を記憶することとしている。また、構造部品の情報としては、文書構造のうち、その構造部品に辿り着くまでに経由しない構造部品を除いた文書構造の情報を記憶することとしている。但し、これはあくまで一例であり、どのコンテントエリアにどの構造部品を挿入したかを特定できるものであれば、いかなる情報を記憶するようにしてもよい。例えば、コンテントエリアの情報としては、コンテントエリアの名前に代え、コンテントエリアの情報を含むテンプレートの構造情報を記憶するようにしてもよい。
【００３９】
また、ステップ２０８における文書構造上の正当性の検査は以下のようにして行う。まず、文書構造検査手段２０は、テンプレート構造解析手段１３によるテンプレートの構造の解析結果を参照することにより、コンテントエリア「main」が＜ＴＤ＞に配置されたコンテントエリアであることを知る。また、適用方法記憶手段１９を参照することにより、挿入しようとしている構造部品は＜ＴＤ＞であることを知る。そこで、文書構造検査手段２０は、テンプレート側の＜ＴＤ＞に文書側の＜ＴＤ＞そのものを挿入することが可能かどうかを検査する。検査の結果、この挿入は不可能と判定されるが、次に、テンプレート側の＜ＴＤ＞に文書側の＜ＴＤ＞の中身を挿入することが可能かどうかを検査した結果、挿入が可能と判定されるので、文書構造検査手段２０は、コンテントエリア「main」に対する構造部品＜ＴＤ＞４１４の挿入が文書構造上正しいと判定する。
一方、例えば、＜ＴＤ＞に配置されたコンテントエリアに対して＜ＴＲ＞を挿入しようとしたような場合は、ステップ２０８において、文書構造上正しくないと判定され、警告が表示される(ステップ２１０)。
なお、上記では、文書構造検査手段２０は、文書構造上の正当性の検査にあたり、適用方法記憶手段１９に記憶された情報と、テンプレート構造解析手段１３による解析結果とを参照することとしたが、上述したように、適用方法記憶手段１９にテンプレートの構造情報と文書の構造情報との対応を記憶するようにした場合は、テンプレート構造解析手段１３による解析結果を参照することなく、文書構造上の正当性の検査が可能となる。
【００４０】
そして、以上のような処理を通して文書へのテンプレートの適用を行った結果、文書「index.html」は、図１３に示すように変更される。即ち、テンプレート適用後の文書構造にあるように、＜ＴＤ＞１３１１に、構造部品が挿入されていることを示す特別なタグである<tpl:put>タグが配置されている。そして、図示してはいないが、この<tpl:put>タグには、＜ＴＤ＞１３０１に対応する記述がなされる。
【００４１】
次に、図３のフローチャートに示す他の文書に対するテンプレートの適用の動作について具体的に説明する。ここでは、上述した文書「index.html」に対するテンプレートの適用をマスターケース(他の文書に対しても行うテンプレートの適用方法を指定するために特定の１つの文書に対して行うテンプレートの適用)と捉え、同様の適用を他の文書「page2.html」、「page3.html」に対して行う場合について説明する。
【００４２】
まず、図５に示した文書「page2.html」に対するテンプレートの適用について説明する。
この時に表示される画面のイメージを図１４に示す。なお、図１４では、「index.html」、「page2.html」、「page3.html」の全てにチェックされているが、ここでは、文書「page2.html」のみに着目して説明を進める。図１４の左上の領域において、テンプレートを適用する文書「page2.html」にチェックがされることにより、文書「page2.html」が選択されると、文書「page2.html」を特定する情報が構造化文書処理装置に伝えられ、文書選択受付手段１６が、その情報を受け付ける(ステップ３０１)。そして、文書構造解析手段１７が、文書「page2.html」の構造を解析する(ステップ３０２)。具体的には、図５の右側に示した文書構造の情報が生成される。
【００４３】
次に、構造部品検索手段２２が、文書構造解析手段１７による解析結果に含まれる構造部品の中から適用方法記憶手段１９に記憶された適用方法に示されるのと同様の構造部品を検索する(ステップ３０３)。ここで、適用方法記憶手段１９には、図１２に示すように、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞の下の１番目の＜ＴＢＯＤＹ＞の下の１番目の＜ＴＲ＞の下の２番目の＜ＴＤ＞をコンテントエリア「main」に挿入したことが示されている。従って、構造部品検索手段２２は、この＜ＴＤ＞と同様の位置付けにある構造部品を、文書構造解析手段１７による解析結果である図５の右側の文書構造の中から検索する。この場合、図５の右側の文書構造の中にも、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞の下の１番目の＜ＴＢＯＤＹ＞の下の１番目の＜ＴＲ＞の下の２番目の＜ＴＤ＞である＜ＴＤ＞５１４が存在していることが分かる。また、コンテントエリアは「main」以外に存在していないので(ステップ３０６でＹＥＳ)、テンプレート適用手段２１は、＜ＴＤ＞５１４のコンテントエリア「main」への挿入のみをメモリ上で行い(ステップ３０７)、図１４の右下の領域に示すようなプレビューイメージが表示される。
【００４４】
そして、以上のような処理を通して文書へのテンプレートの適用を行った結果、文書「page2.html」の文章構造は、図１３に示したものと同様のものなる。但し、<tpl:put>タグには、図５の＜ＴＤ＞５１４に対応する記述がなされる。
【００４５】
次に、図６に示した文書「page3.html」に対するテンプレートの適用について説明する。
この時に表示される画面のイメージを図１５に示す。なお、図１５では、「index.html」、「page2.html」、「page3.html」の全てにチェックされているが、ここでは、文書「page3.html」のみに着目して説明を進める。図１５の左上の領域において、テンプレートを適用する文書「page3.html」にチェックがされることにより、文書「page3.html」が選択されると、文書「page3.html」を特定する情報が構造化文書処理装置に伝えられ、文書選択受付手段１６が、その情報を受け付ける(ステップ３０１)。そして、文書構造解析手段１７が、文書「page3.html」の構造を解析する(ステップ３０２)。具体的には、図６の右側に示した文書構造の情報が生成される。
【００４６】
次に、構造部品検索手段２２が、文書構造解析手段１７による解析結果に含まれる構造部品の中から適用方法記憶手段１９に記憶された適用方法に示されるのと同様の構造部品を検索する(ステップ３０３)。ここで、適用方法記憶手段１９には、図１２に示すように、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞の下の１番目の＜ＴＢＯＤＹ＞の下の１番目の＜ＴＲ＞の下の２番目の＜ＴＤ＞をコンテントエリア「main」に挿入したことが示されている。従って、構造部品検索手段２２は、この＜ＴＤ＞と同様の位置付けにある構造部品を、文書構造解析手段１７による解析結果である図６の右側の文書構造の中から検索する。
【００４７】
この場合、図６の右側の文書構造の中には、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞の下の１番目の＜ＴＢＯＤＹ＞の下の１番目の＜ＴＲ＞の下の２番目の＜ＴＤ＞に該当する構造部品が発見されないため、構造部品検索手段２２は、図１２に示す情報の内容を退避する等して、一時的に挿入範囲の拡大を行う(ステップ３０４)。即ち、テンプレート適用方法を、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞の下の１番目の＜ＴＢＯＤＹ＞の下の１番目の＜ＴＲ＞をコンテントエリア「main」に挿入する、というものに書き換える。
【００４８】
次に、構造部品検索手段２２は、この拡大が文書構造上正しいものかどうかを判定する(ステップ３０５)。具体的には、まず、テンプレート構造解析手段１３による解析結果の構造情報を参照し、コンテントエリア「main」がＨＴＭＬタグの<td>の中に配置されていることを知る。<td>の中に＜ＴＲ＞を挿入することはできないため、構造部品検索手段２２は、この拡大が文書構造上正しくないと判定し、再度挿入範囲の拡大を行う(ステップ３０４)。即ち、テンプレート適用方法を、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞の下の１番目の＜ＴＢＯＤＹ＞をコンテントエリア「main」に挿入する、というものに書き換える。
【００４９】
次に、構造部品検索手段２２は、この拡大が文書構造上正しいものかどうかを判定する(ステップ３０５)。コンテントエリア「main」は、ＨＴＭＬタグの<td>の中に配置されており、<td>の中に＜ＴＢＯＤＹ＞を挿入することはできないため、構造部品検索手段２２は、この拡大が文書構造上正しくないと判定し、再度挿入範囲の拡大を行う(ステップ３０４)。即ち、テンプレート適用方法を、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞をコンテントエリア「main」に挿入する、というものに書き換える。
【００５０】
次に、構造部品検索手段２２は、この拡大が文書構造上正しいものかどうかを判定する(ステップ３０５)。コンテントエリア「main」は、ＨＴＭＬタグの<td>の中に配置されており、<td>の中に＜ＴＡＢＬＥ＞を挿入することは可能であるため、構造部品検索手段２２は、この拡大が文書構造上正しいと判定する。そして、この＜ＴＡＢＬＥ＞と同様の位置付けにある構造部品を、文書構造解析手段１７による解析結果である図６の右側の文書構造の中から検索する。この場合、図６の右側の文書構造の中にも、＜ＢＯＤＹ＞の下の２番目の＜ＴＡＢＬＥ＞である＜ＴＡＢＬＥ＞６１２が存在していることが分かる。また、コンテントエリアは「main」以外に存在していないので(ステップ３０６でＹＥＳ)、テンプレート適用手段２１は、＜ＴＡＢＬＥ＞６１２のコンテントエリア「main」への挿入のみをメモリ上で行い(ステップ３０７)、図１５の右下の領域に示すようなプレビューイメージが表示される。
【００５１】
そして、以上のような処理を通して文書へのテンプレートの適用を行った結果、文書「page3.html」の文章構造は、図１３に示したものと同様のものなる。但し、<tpl:put>タグには、図６の＜ＴＡＢＬＥ＞６１２に対応する記述がなされる。
【００５２】
以上、本実施の形態の具体例について述べてきた。上記の説明では、テンプレート構造解析手段１３による解析結果をどのように保持するかについては詳しく触れなかったが、テンプレート構造解析手段１３は、テンプレートの構造情報が必要になる都度、テンプレート記憶手段１１に記憶されたテンプレートを解析することにより、構造情報を取得するようにしてもよい。また、最初にテンプレートの構造情報を生成した際に、構造情報をメモリ上に展開しておき、その後の処理においては、このメモリに展開された構造情報を用いることとしてもよい。
また、文書構造解析手段１７による解析結果についても同様に、必要になる都度、文書記憶手段１５に記憶された文書を解析することにより、取得するようにしてもよい。また、最初に文書の構造情報を生成した際に、構造情報をメモリ上に展開しておき、その後の処理においては、このメモリに展開された構造情報を用いることとしてもよい。
【００５３】
更に、本実施の形態では、ステップ３０５における文書構造上の正当性の検査を構造部品検索手段２２が行うようにしたが、拡大後の構造部品の情報を文書構造検査手段２０に受け渡し、文書構造検査手段２０がテンプレート構造解析手段１３による解析結果を参照する等して上記検査を行うようにしてもよい。
更にまた、本実施の形態では、テンプレート適用手段２１がメモリ上でテンプレートを適用し、テンプレート適用前／後の文書の状態をプレビューすることで、テンプレートの適用による文書情報のロスのリスクを最小限に抑えた。しかしながら、テンプレート適用手段２１によるテンプレートの適用は、メモリ上ではなく、ハードディスク上で行うことも可能である。
【００５４】
このように、本実施の形態では、図２のフローチャートの流れで処理を行うことにより、テンプレートを適用する際に、コンテントエリアに挿入する部分を構造部品(HTMLタグ)単位で指定することができるという効果が得られる。また、同様に図２のフローチャートの流れで処理を行うことで、テンプレートが複数のコンテントエリアを持つ場合には、それぞれに異なる構造部品(HTMLタグ)を指定することも可能となる。
また、本実施の形態では、図３のフローチャートに示す流れで処理を行うことにより、単一の文書に対してコンテントエリアへの挿入部分を指定すれば、複数の文書に対し自動的にテンプレートを適用することができるという効果も得られる。
【図面の簡単な説明】
【００５５】
【図１】本実施の形態の全体構成を示したブロック図である。
【図２】本実施の形態における単一文書に対するテンプレートの適用の動作を示したフローチャートである。
【図３】本実施の形態における他の文書に対するテンプレートの適用の動作を示したフローチャートである。
【図４】本実施の形態の具体例で用いる文書について説明するための図である。
【図５】本実施の形態の具体例で用いる文書について説明するための図である。
【図６】本実施の形態の具体例で用いる文書について説明するための図である。
【図７】本実施の形態の具体例で用いるテンプレートについて説明するための図である。
【図８】本実施の形態の具体例における画面の一例を示す図である。
【図９】本実施の形態の具体例における画面の一例を示す図である。
【図１０】本実施の形態の具体例における画面の一例を示す図である。
【図１１】本実施の形態の具体例における画面の一例を示す図である。
【図１２】本実施の形態の具体例における適用方法記憶手段の記憶内容の一例を示す図である。
【図１３】本実施の形態の具体例におけるテンプレート適用前の文書とテンプレート適用後の文書とを対比して示す図である。
【図１４】本実施の形態の具体例における画面の一例を示す図である。
【図１５】本実施の形態の具体例における画面の一例を示す図である。
【符号の説明】
【００５６】
１１…テンプレート記憶手段、１２…テンプレート選択受付手段、１３…テンプレート構造解析手段、１４…コンテントエリア選択受付手段、１５…文書記憶手段、１６…文書選択受付手段、１７…文書構造解析手段、１８…構造部品選択受付手段、１９…適用方法記憶手段、２０…文書構造検査手段、２１…テンプレート適用手段、２２…構造部品検索手段
【図１】
2005050078.tif 000003
【図２】
2005050078.tif 000004
【図３】
2005050078.tif 000005
【図４】
2005050078.tif 000006
【図５】
2005050078.tif 000007
【図６】
2005050078.tif 000008
【図７】
2005050078.tif 000009
【図８】
2005050078.tif 000010
【図９】
2005050078.tif 000011
【図１０】
2005050078.tif 000012
【図１１】
2005050078.tif 000013
【図１２】
2005050078.tif 000014
【図１３】
2005050078.tif 000015
【図１４】
2005050078.tif 000016
【図１５】
2005050078.tif 000017