(57)【特許請求の範囲】
【請求項１】
階層構造が規定される一の文書であって、当該文書中に存在する階層構造におけるルート階層以下の階層のいずれかに関連づけた本文データを含む文書、を保持するデータベースに対し、アクセス可能に接続されるドキュメント処理装置であって、
予め定めたデータ種別ごとに定められた、出力ドキュメントの書式を規定するテンプレートを保持する手段と、
前記データベースで用いられるルート階層からの階層の深さを特定する階層深度情報と、前記データ種別の情報とを関連づけた対応表を保持する手段と、
前記対応表を指定する情報と、データ種別ごとにどのテンプレートを用いるかを表す情報とを含んだレイアウトストラクチャデータを保持する手段と、
前記データベースに保持された文書のうちから処理対象となる文書の指定を、ユーザから受け入れる手段と、
前記処理対象として指定された文書のルート階層に関連して指定されるレイアウトストラクチャデータを、前記レイアウトストラクチャデータを保持する手段から読み出し、当該読み出したレイアウトストラクチャデータに含まれる情報で指定される対応表を読み出す手段と、
当該読み出した対応表にて、前記処理対象として指定された文書のルート階層以下の階層深度情報に関連づけられたデータ種別の情報を参照し、当該参照したデータ種別の情報に対応するテンプレートを、前記テンプレートを保持する手段から読み出す手段と、
前記指定された文書中で、前記読み出したテンプレートの各々に対応するデータ種別に関連づけられた階層に分類されている本文データと、対応するテンプレートによる書式の規定とを用いて出力ドキュメントを生成する手段と、
を含むことを特徴とするドキュメント処理装置。
【請求項２】
階層構造が規定される一の文書であって、当該文書中に存在する階層構造におけるルート階層以下の階層のいずれかに関連づけた本文データを含む文書、を保持するデータベースに対し、アクセス可能に接続されるコンピュータを用いたドキュメント処理方法であって、
テンプレートを保持する手段が、予め定めたデータ種別ごとに定められた、出力ドキュメントの書式を規定するテンプレートを保持する工程と、
対応表を保持する手段が、前記データベースで用いられるルート階層からの階層の深さを特定する階層深度情報と、前記データ種別の情報とを関連づけた対応表を保持する工程と、
レイアウトストラクチャデータを保持する手段が、前記対応表を指定する情報と、データ種別ごとにどのテンプレートを用いるかを表す情報とを含んだレイアウトストラクチャデータを保持する工程と、
指定を受け入れる手段が、前記データベースに保持された文書のうちから処理対象となる文書の指定を、ユーザから受け入れる工程と、
対応表を読み出す手段が、前記処理対象として指定された文書のルート階層に関連して指定されるレイアウトストラクチャデータを、前記レイアウトストラクチャデータを保持する手段から読み出し、当該読み出したレイアウトストラクチャデータに含まれる情報で指定される対応表を読み出す工程と、
テンプレートを読み出す手段が、当該読み出した対応表にて、前記処理対象として指定された文書のルート階層以下の階層深度情報に関連づけられたデータ種別の情報を参照し、当該参照したデータ種別の情報に対応するテンプレートを、前記テンプレートを保持する手段から読み出す工程と、
出力ドキュメントを生成する手段が、前記指定された文書中で、前記読み出したテンプレートの各々に対応するデータ種別に関連づけられた階層に分類されている本文データと、対応するテンプレートによる書式の規定とを用いて出力ドキュメントを生成する工程と、
を含むことを特徴とするドキュメント処理方法。
【請求項３】
階層構造が規定される一の文書であって、当該文書中に存在する階層構造におけるルート階層以下の階層のいずれかに関連づけた本文データを含む文書、を保持するデータベースに対し、アクセス可能に接続されるコンピュータを、
予め定めたデータ種別ごとに定められた、出力ドキュメントの書式を規定するテンプレートを保持する手段と、
前記データベースで用いられるルート階層からの階層の深さを特定する階層深度情報と、前記データ種別の情報とを関連づけた対応表を保持する手段と、
前記対応表を指定する情報と、データ種別ごとにどのテンプレートを用いるかを表す情報とを含んだレイアウトストラクチャデータを保持する手段と、
前記データベースに保持された文書のうちから処理対象となる文書の指定を、ユーザから受け入れる手段と、
前記処理対象として指定された文書のルート階層に関連して指定されるレイアウトストラクチャデータを、前記レイアウトストラクチャデータを保持する手段から読み出し、当該読み出したレイアウトストラクチャデータに含まれる情報で指定される対応表を読み出す手段と、
当該読み出した対応表にて、前記処理対象として指定された文書のルート階層以下の階層深度情報に関連づけられたデータ種別の情報を参照し、当該参照したデータ種別の情報に対応するテンプレートを、前記テンプレートを保持する手段から読み出す手段と、
前記指定された文書中で、前記読み出したテンプレートの各々に対応するデータ種別に関連づけられた階層に分類されている本文データと、対応するテンプレートによる書式の規定とを用いて出力ドキュメントを生成する手段と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テンプレートを用いて出力ドキュメントを生成するドキュメント処理装置に関する。
【背景技術】
【０００２】
近年、ドキュメントの構造や、書式等をテンプレートとして定め、種々のデータをこのテンプレートに「流し込み」、ドキュメントを生成する処理が種々考えられている（例えば特許文献１）。
【特許文献１】特開２００４−８６８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
この特許文献１に開示されている技術によれば、予めテンプレートにて用いる参照キーとデータタイプとを関連づけておき、各データタイプを表すタグ情報を、流し込むデータに設定しておくこととしている。例えば、文章の部、章、節、項、表、図などの章立てを表すタグ名を規定しておき、文章の章を表すタグ名が設定されているデータは、章の部分に取り込む。
【０００４】
しかしながら、この場合、テンプレートにおいて用いられるデータタイプを表すタグ名をドキュメントに設定しておかなければならず、データタイプの種類が増大した場合などに対応が困難となる。また、タグ名を予め知っておく必要がある。
【０００５】
本発明は上記実情に鑑みて為されたもので、階層構造を有するドキュメントデータベースにドキュメントを保持させ、階層構造とテンプレートの規定とを関連づけることで、データタイプの種類が増大したとしても、また、タグ名を予め知らなくとも、構造的な出力ドキュメントを得ることができ、利便性を向上できるドキュメント処理装置を提供することを、その目的の一つとする。
【課題を解決するための手段】
【０００６】
上記従来例の問題点を解決するための本発明は、階層構造を有して規定される分類項目のいずれかに関連づけてデータを保持するデータベースにアクセス可能に接続されるドキュメント処理装置であって、前記データベースに保持されたデータに係る参照キー情報を用いて出力ドキュメントを規定するテンプレート、を取得する手段と、前記データベースで用いられる分類項目の各階層を特定する情報に、前記テンプレートの参照キー情報を関連づけて保持する手段と、を含み、ユーザから指定されたテンプレートに含まれる各参照キー情報について、各参照キー情報に関連づけられている階層に分類されているデータを利用して出力ドキュメントを生成することを特徴としている。
【０００７】
また、本発明の一態様に係るドキュメント処理方法は、階層構造を有して規定される分類項目のいずれかに関連づけてデータを保持するデータベースにアクセス可能に接続されるコンピュータを用いたドキュメント処理方法であって、前記データベースに保持されたデータに係る参照キー情報を用いて出力ドキュメントを規定するテンプレート、を取得する工程と、前記データベースで用いられる分類項目の各階層を特定する情報に、前記テンプレートの参照キー情報を関連づけて保持する工程と、を含み、ユーザから指定されたテンプレートに含まれる各参照キー情報について、各参照キー情報に関連づけられている階層に分類されているデータを利用して出力ドキュメントを生成することを特徴としている。
【０００８】
さらに、本発明の別の態様に係るプログラムは、階層構造を有して規定される分類項目のいずれかに関連づけてデータを保持するデータベースにアクセス可能に接続されるコンピュータに、前記データベースに保持されたデータに係る参照キー情報を用いて出力ドキュメントを規定するテンプレート、を取得する手順と、前記データベースで用いられる分類項目の各階層を特定する情報に、前記テンプレートの参照キー情報を関連づけて保持する手順と、を実行させ、ユーザから指定されたテンプレートに含まれる各参照キー情報について、各参照キー情報に関連づけられている階層に分類されているデータを利用して出力ドキュメントを生成させることを特徴としている。
【発明を実施するための最良の形態】
【０００９】
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係るドキュメント処理装置１は、図１に示すように、制御部１１と、記憶部１２と、ストレージ部１３と、通信部１４とを含んで構成されている。また、このドキュメント処理装置１は、ネットワークを介してクライアント装置２に接続されている。
【００１０】
制御部１１は、ＣＰＵ等であり、記憶部１２に格納されているプログラムに従って動作する。本実施の形態では、この制御部１１は、クライアント装置２から受信される指示に従い、テンプレートを用いてドキュメントを作成する処理を実行する。この制御部１１の処理については、後に詳しく述べる。
【００１１】
記憶部１２は、ＲＡＭやＲＯＭ等の記憶素子を含んで構成される。この記憶部１２は、制御部１１によって実行されるプログラムを保持している。また、この記憶部１２は、制御部１１のワークメモリとしても動作する。
【００１２】
ストレージ部１３には、階層構造を有して規定される分類項目のいずれかに関連づけられたデータを保持するデータベースが格納されている。ここで階層構造は、例えばファイルシステムのディレクトリ構造でもよいし、例えば一つの文書であっても、文書の構造として階層構造が規定されていれば、当該文書構造であってもよい。
【００１３】
以下では一例として、複数の製品についてよくある質問をまとめたＸＭＬ文書において、内部に階層構造が規定されている場合を例として説明する。ここでは、階層のルートとして、taskタグが設定され、このルート以下の階層構造は、folderタグによって示す。さらに下位の階層構造は、folderタグをネスト（folderタグを多重に、入れ子の構造に）させて規定する。
【００１４】
すなわち、図２に示す文書では、taskタグとして、属性情報のうちタイトル（title）として「よくあるご質問（ＦＡＱ）」との文字列が設定されているデータが含まれる。従って、この「よくあるご質問（ＦＡＱ）」が階層のルートとして規定される。次に、folderタグとして「ソフトウエア」（タイトルの属性情報が「ソフトウエア」となっているもの）が記述されており、さらにこのfolderタグが閉じられないうちに（</folder>に出会う前に）、次のfolderタグ（「ワードプロセッサ」なる文字列をタイトルの属性情報に含む）が記述され…といったように構成されている。この例では、「ワードプロセッサ」のタイトルのfolderタグ以下にさらに別のfolderタグが記述され「ＰＤＦを書き出すことができますか」のタイトルが付され、質問（questionの属性情報に対応するもの）と回答（answerの属性情報に対応するもの）とが記述されている。
【００１５】
したがって、この図２に示す文書が表す階層構造は、図３に示すようなものとなる。すなわち、ルート以下に「ソフトウエア」や「ハードウエア」等の階層が含まれ、さらに「ソフトウエア」や「ハードウエア」等の各階層以下にも、別の階層が生成されている。そして、これらの階層のいずれかに、生成するドキュメントの本文となるデータが含まれる。つまりこの例では、本文となるべきデータと、分類項目の階層構造に相当するデータとを区別せず、階層のノードとして対等に扱うこととしている。
【００１６】
通信部１４は、ネットワークインタフェースカード等であり、ネットワークを介してクライアント装置２から受信される指示やデータを制御部１１に出力する。また、この通信部１４は、制御部１１から入力される指示に従って、指示された送信先へデータ等を送信する。
【００１７】
クライアント装置２は、例えばウェブクライアントとして動作可能なパーソナルコンピュータ等であり、ユーザからの指示操作を受けて、ドキュメント処理装置１側へドキュメントを格納させる指示を出力する。また、このクライアント装置２は、利用するテンプレートと、処理の対象となったデータベースのいずれかのディレクトリを指定してドキュメントを生成する指示を、ドキュメント処理装置１へと出力する。
【００１８】
本実施の形態においては、ドキュメントの書式を指定するデータとしてのテンプレートが、予め生成されてストレージ部１３に格納されているものとする。また、このテンプレートでは、生成するドキュメントを構成するデータを、データ種別と属性とによって参照する。例えば、データ種別がカテゴリー（category）であるものについて、そのタイトルの情報をデータとして取り込む場合、タイトルを表す属性情報として予め定められている文字列（例えば、title）を用い、これをデータ種別名に連接して、
$category.title$
といったように、表記して指定する。すなわち、制御部１１は、テンプレートに、このように表記されている部分が見いだされた場合、データ種別がカテゴリーとなっているデータを一つ読み出して、当該データに含まれる、タイトルの情報で、この$category.title$の文字列を置き換える。
【００１９】
具体的な例として、以下の説明では、図４に示すようにテンプレートが生成されて、ストレージ部１３に格納されているものとする。なお、図４には、テンプレートの一部を示している。
【００２０】
また処理の対象となったデータベース（ディレクトリ構造そのもの、ないしは、分類対象となる文書）において規定される分類項目の各階層を特定する情報（以下、階層特定情報と呼ぶ）に、テンプレート上の参照キーとしてのデータ種別の情報を関連づけた対応表が、ユーザによって生成され、記憶部１２に格納されている。本実施の形態において特徴的なことの一つは、制御部１１が、この対応表を参照して、ドキュメントの生成を行うことである。
【００２１】
ここで対応表の具体的な内容例について説明する。この例において階層特定情報は、階層深度を表す数値であるとする。
【００２２】
従って、図２に示した文書の階層構造に対応して、例えばルートを、「ＦＡＱ」の階層（深度０階層）とし、以下、テンプレート内の参照キーのうち、カテゴリー（category）は、このルートの直下にある階層（深度１階層）に対応づけ、サブカテゴリー（subcategory）は、ルート以下の階層のさらに一つ下位の階層（深度２階層）に対応づけ、さらにこの階層以下の階層（深度３階層）をさらにテンプレートにおける参照キー「ＦＡＣＴ」に対応づけ…とした場合、図５に示すように対応表を生成する。
【００２３】
ここで、これらのデータ（テンプレートや対応表）を用いてドキュメントを生成する、制御部１１の動作について説明する。本実施の形態では、ＦＡＱに係る製品の一覧を表示するウェブページ（ＨＴＭＬ文書）と、各製品ごとのＦＡＱの一覧を表示するウェブページと、各ＦＡＱを表示するウェブページとを作成する例について述べる。つまりこれらの各ウェブページごとのテンプレートが予め生成されてストレージ部１３に格納され、また、データ種別ごとにどのテンプレートを用いるかを設定するデータ（レイアウトストラクチャデータ）が生成されて、記憶部１２に格納される。
【００２４】
さらに、処理対象となった文書について規定される階層と、データ種別とを関連づける対応表がユーザにより生成されてストレージ部１３等に格納される。
【００２５】
ここで、レイアウトストラクチャデータは、図６に示すように対応表の指定を含む。ここでは対応表を格納した場所のＵＲＬによって、対応表が指定されている（Ｐ）。また、データ種別ごとのテンプレートもまた、各テンプレートの格納先のＵＲＬによって指定されている（Ｑ）。
【００２６】
制御部１１は、ユーザからドキュメント生成の指示を受けて図７に示す処理を開始する。この指示には、処理対象となった文書の指定が含まれる。制御部１１は、指定された文書の構造のうち階層構造のルートの情報を取得する（Ｓ１）。ここでは文書においてtaskタグで規定されたデータがルートとなるので、taskタグに関連する各属性情報が取得される。本実施の形態では、このtaskタグに関する属性情報の一つとして、レイアウトストラクチャデータの指定が含まれているものとする。制御部１１は、当該指定されているレイアウトストラクチャデータをストレージ部１３から読み出す（Ｓ２）。さらに、制御部１１は、レイアウトストラクチャデータの記述から、使用する対応表をストレージ部１３から読み出す（Ｓ３）。
【００２７】
制御部１１は、指定された文書の各階層のデータについて、対応表において各階層に対応づけられているデータ種別名を取得し（Ｓ４）、当該取得したデータ種別名に対応づけて、レイアウトストラクチャデータに含まれるテンプレートを読み出す（Ｓ５）。そして、読み出したテンプレートにデータを流し込んでドキュメントを生成し、出力ドキュメントとして、ストレージ部１３に格納する（Ｓ６）。ここで当該取得したデータ種別名にテンプレートが対応づけられていない場合は流し込みを行わない。なお、この流し込みの処理については、テンプレートによって規定された書式で、データを出力する一般的な処理と同様であるので、ここでの詳細な説明を省略する。
【００２８】
制御部１１は、指定された文書に未だ流し込みをしていないデータがあるか否かを調べ（Ｓ７）、そのようなデータがあれば、処理Ｓ４に戻って処理を続ける。
【００２９】
また、処理Ｓ７において、指定された文書に未だ流し込みをしていないデータがなければ（すべてのデータについて処理を完了した場合は）、処理を終了する。
【００３０】
例えば、図２に示した文書が処理対象となっている場合に、対応表においてルートの階層に対応するデータ種別が「FAQ」として規定されており、レイアウトストラクチャでＦＡＱのデータ種別に用いるテンプレートが図４に示したものであると設定されているとすると、図４に示したテンプレートに対してこの階層（ルート階層）以下のデータを用いて、流し込みの処理が行われる。
【００３１】
この図４のテンプレートでは、データ種別「category」のタイトルを列挙するとともに（$category.title$）、各タイトルに続いて、データ種別「subcategory」のタイトルを列挙することとしている。
【００３２】
従って、処理対象となった文書において、深度１の階層に設定された各項目（図２での「ソフトウエア」や「ハードウエア」）が列挙され、また、「ソフトウエア」の項目（アドレス/1/1）に続いて、その下位の階層に含まれる（アドレスが/1/1/nとなっている）各項目が列挙される。つまり、この処理によって生成されるＨＴＭＬファイルは、図８に示すようなものとなる。
【００３３】
このように本実施の形態によると、階層構造を有するデータベースにデータを保持させ、階層構造とテンプレートの規定とを関連づけることで、データ種別の数が増大したとしても、また、タグ名を予め知らなくとも、構造的な出力ドキュメントを得るることができ、利便性を向上できる。
【００３４】
［変形例］
なお、ここでは、タイトル等の属性情報は処理対象となった元の文書から取得するものとしていたが、対応表において処理対象となった文書に含まれているものとは異なる新たな属性情報を規定し、当該属性情報をテンプレートの参照キーによって参照してもよい。例えば、対応表において各階層ごとに属性情報の規定を含めてもよい（図９）。この図９の例では、新たな属性情報として「new_title」が設定される。
【００３５】
また、この場合において、処理対象となった文書に含まれる各階層の項目について、その出現順序を表す変数（index）を設定してもよい。このようにすると、例えば、データ種別「category」に対応づけて、「new_title」の属性情報を、「第$index章」と定める。このようにすると、データ種別「category」に対応する階層の項目のうち、最初に現れる項目について、属性情報「new_title」が「第１章」、次に現れる項目の属性情報「new_title」が「第２章」…というように規定される。この属性情報はテンプレートにおいて、例えば$category.new_title$との参照キーで参照される。
【００３６】
さらに、この変数indexを用いた数値演算や文字列演算の結果によって、データ種別名を定めてもよい。例えば、深度２に対応するデータ種別として、
link & MOD ($index,2)
と定めるとする。ここで「link」は文字列そのもの（リテラル）であり、MOD(a,b)はａをｂで除した余りを意味するものとする。従って、このデータ種別は、深度２の階層の項目のうち奇数番目に出現する項目については「link1」、偶数番目に出現する項目については「link0」のデータ種別名に関連づけられる。
【００３７】
そこで、これらのデータ種別名を用いて、これらlink1と、link0のデータ種別名を参照キーとして用いてテンプレートを生成することで、例えば奇数番目の項目と偶数番目の項目とを２列に配列して表示するＨＴＭＬファイルを生成できるようになる。
【００３８】
また、ここまでの説明では、対応表において各階層数とデータ種別とを関連づけていたが、階層数の欄は必ずしも必要ではなく、階層数の昇順にデータ種別を並べて対応表としてもよい。
【００３９】
さらに、階層特定情報は、アドレス情報として、各階層を、次のように表現したものであってもよい。すなわち、階層のルートについては、
/1
とし、このルートの直下にある階層のそれぞれに互いに異なる番号を割り当てて、
/1/1
から、
/1/n
まで（ここでｎは、ルートの直下にある階層の総数）とする。
【００４０】
さらに、ルート以下の階層にさらに下位の階層が格納されている場合は、このルート以下の階層についても、当該階層以下にある下位の階層のそれぞれに互いに異なる番号を割り当てて、
/1/1/m
などとして（ここでｍは割り当てられる番号）表記することとしてもよい。
【図面の簡単な説明】
【００４１】
【図１】本発明の実施の形態に係るドキュメント処理装置の例を表す構成ブロック図である。
【図２】本発明の実施の形態に係るドキュメント処理装置の処理の対象となる階層構造を有する文書の例を表す説明図である。
【図３】文書において規定される階層構造の概要を表す説明図である。
【図４】本発明の実施の形態に係るドキュメント処理装置が用いるテンプレートの内容例を表す説明図である。
【図５】本発明の実施の形態に係るドキュメント処理装置が用いる対応表の例を表す説明図である。
【図６】本発明の実施の形態に係るドキュメント処理装置が用いるレイアウトストラクチャデータの内容例を表す説明図である。
【図７】本発明の実施の形態に係るドキュメント処理装置の動作例を表すフローチャート図である。
【図８】本発明の実施の形態に係るドキュメント処理装置が生成する出力ドキュメントの例を表す説明図である。
【図９】本発明の実施の形態に係るドキュメント処理装置が用いる対応表の別の例を表す説明図である。
【符号の説明】
【００４２】
１  ドキュメント処理装置、１１  制御部、１２  記憶部、１３  ストレージ部、１４  通信部。
【図１】
0004788241.tif 000002
【図２】
0004788241.tif 000003
【図３】
0004788241.tif 000004
【図４】
0004788241.tif 000005
【図５】
0004788241.tif 000006
【図６】
0004788241.tif 000007
【図７】
0004788241.tif 000008
【図８】
0004788241.tif 000009
【図９】
0004788241.tif 000010