(57)【特許請求の範囲】
【請求項１】
表を作成する表作成装置において、カラムおよびローの親子関係を示す木構造が指示され該木構造に従って表入力テンプレートを生成して画面に表示する表入力テンプレート生成手段と、該表入力テンプレート生成手段により生成された前記表入力テンプレートに対する項目の入力を受け付けるとともに項目が入力された前記表入力テンプレートから部分表を生成する表項目入力手段と、該表項目入力手段が生成した部分表を必要な数だけ保持する部分表保持手段と、複数の部分表におけるカラム及びローの木構造間に順序関係を定義し部分表を合成するためのパラメータを保持する表合成パラメータ保持手段と、個々の木構造を保存したまま前記表合成パラメータ保持手段に保持されている木構造間の順序関係を示す前記パラメータに従って前記部分表保持手段に保持された部分表を合成して一つの表を生成する表合成手段を有することを特徴とする表作成装置。
【請求項２】
表入力テンプレート生成手段は、ユーザからカラムにおける木構造の数と、カラムの木構造のレベル数と、各レベルにおける親カラムの子となるカラムの数と、ローにおける木構造の数と、ローの木構造のレベル数と、各レベルにおける親ローの子となるローの数の指定を受けて、前記指定を満たす木構造を有する表入力テンプレートを生成することを特徴とする請求項１に記載の表作成装置。
【請求項３】
同一の部分表に含まれる木構造間の順序関係は、表合成パラメータ保持手段に保持される前記パラメータで示される木構造間の順序関係と同一であることを特徴とする請求項１または２に記載の表作成装置。
【請求項４】
前記表合成パラメータ保持手段に保持される前記パラメータは、第１の部分表の部分木構造もしくは木構造と、第２の部分表の木構造の特定のノードとを対応付けるものであり、前記表合成手段は、前記表合成パラメータ保持手段にて対応付けられた第１の部分表の部分木構造もしくは木構造を第２の部分表の木構造の特定のノードの下位構造として接合することを特徴とする請求項１または２に記載の表作成装置。
【請求項５】
前記表項目入力手段は、カラム及びローに見出しを対応付けることが可能であり、前記表合成手段は、該見出しによってソートすることにより部分表のカラム及びローの木構造を接合することを特徴とする請求項１または２に記載の表作成装置。
【請求項６】
表を作成する表作成方法において、カラムおよびローの親子関係を示す木構造が指示され該木構造に従って表入力テンプレートを表入力テンプレート生成手段が生成して画面に表示し、表項目入力手段は前記表入力テンプレート生成手段で生成された前記表入力テンプレートに対する項目の入力を受け付けるとともに項目が入力された前記表入力テンプレートから部分表を生成し、生成した部分表を必要な数だけ部分表保持手段が保持し、また複数の部分表におけるカラム及びローの木構造間に順序関係を定義し部分表を合成するためのパラメータを表合成パラメータ保持手段が保持し、個々の木構造を保存したまま前記表合成パラメータ保持手段に保持されている木構造間の順序関係を示す前記パラメータに従って前記部分表保持手段に保持された部分表を表合成手段が合成して一つの表を生成することを特徴とする表作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表を作成するために用いられる表作成装置及び表作成方法に関するものである。
【０００２】
【従来の技術】
表は複雑な情報を整理して読者に伝達する手段として広く用いられてきた。電子化された装置によって文書作成が行なわれるようになった現在でも、表が文書の重要な構成部品であることに変わりはない。ＤＴＰ、ワードプロセッサーなどの文書作成編集装置は、必ずといってもよいほど、表作成機能を備えている。これら従来の文書作成編集装置における表の作成方法には、大別して、ＷＹＳＩＷＹＧ（Ｗｈａｔ  Ｙｏｕ  Ｓｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ）方式とコマンド埋め込み方式の二つがある。
【０００３】
ＷＹＳＩＷＹＧ方式は、従来より多くのＤＴＰやワードプロセッサで用いられている。ＷＹＳＩＷＹＧ方式の特徴は、罫表を画面上に表示し、表示された罫表中の項目枠に、対応する項目内容を埋めていくことにより表を作成するという点にある。ここで、罫表とは罫線より構成される枠であり、項目枠とは隣接する縦横の罫線によって囲まれる長方形領域のことを指す。以下、この方式に従って、ユーザが表を作成する手順を示す。
【０００４】
まず、罫表の概形を決定する。ここで、罫表の概形とは、罫線の絶対的な位置や罫線間の絶対的な間隔は未定のままで、罫線同士の相対的な位置関係のみが定まった罫表を指す。罫表の概形を決定する際には、見出し項目群とデータ項目群の対応関係を入力すべき項目全体にわたって調べ、どのように罫線を引けば必要かつ十分な見出し項目枠とデータ枠（あわせて項目枠と呼ぶ）を持つ罫表を作成できるかを考えなければならない。
【０００５】
次に、決定した罫表の概形をもとに、ユーザがシステムを介して罫表を作成する。罫表を作成する方法としては、罫表のカラムやローに対して分割、転記、削除等の操作を繰り返す方法と、罫線の追加、削除、長さの変更等の操作を繰り返す方法などがある。
【０００６】
最後に、作成された罫表の各項目枠内に見出し項目あるいはデータを入力し、表が完成する。
【０００７】
コマンド埋め込み方式は、ＬａＴｅＸのｔａｂｕｌａｒ環境やｒｏｆｆのｔｂｌなどで用いられており、項目内容の文字列、項目間の境界を表わす制御記号、罫線の描画を指示するコマンドが混在するテキストとして表を表現し、このテキストを入力することによって表を作成する方式である。図２は、ＬａＴｅＸによる表の表現の一例の説明図である。制御記号“＆”は、ロー（項目の横並び）内の項目間の境界を表わす。ＬａＴｅＸのフォーマッタは、制御記号“＆”を垂直罫線の描画を指示するコマンドと解釈して、“＆”をはさむ両側の項目内容の間に垂直な罫線を引く。制御記号“＼＼”はローの終わりを表わし、コマンド“＼ｈｌｉｎｅ”および“＼ｃｌｉｎｅ”は水平線の描画を指示する。
【０００８】
この方式に従ってユーザが表を作成する場合には、まず、罫表の概形を決定する。そして、決定した罫表の概形をもとに項目内容の文字列、制御記号、コマンドを規則にしたがって入力して行く。入力が終了したら、フォーマッタを起動し、レイアウトを生成する。この手順により、表が形成されることになる。
【０００９】
上述のいずれの方法によっても、ユーザはまず罫表の概形を決定し、その後、表を実際に作成するという手順をとる。しかしながら、上述の方法には次のような問題点がある。
【００１０】
まず、表の作成の当初から、完成時の表の形状をユーザが予想して作表を行なわなければならないという問題がある。すなわち、従来の作表の方法では、作表作業に入る前に、罫表の概形、すなわち、全体の表がどのような形状になるかをあらかじめ考えなければならず、手間がかかっていた。このとき、罫表の概形は、すべての見出し項目とデータ項目がその対応関係を正しく保って入力されるように、必要かつ十分な項目枠を提供しなければならない。この作業は、見出し項目やデータ項目の数が多くなったり、それらの対応関係が複雑になると著しく煩雑なものとなる。
【００１１】
また、ＷＹＳＩＷＹＧ方式においては、ユーザが自ら列、行、罫線を操作して、罫表を作表しなければならない。表の形状が複雑になると、必要な操作の回数が増加する。また、コマンド埋め込み方式においては、罫表は画面上に表示されないので、ユーザは実際に罫表を見ることなくテキストを作成しなければならず、１回で誤りなく作表することは非常に難しい。また、作表されるテキストは、制御記号やコマンドが文字間に埋め込まれた、はなはだ読みにくいものであり、テキストから誤入力を見つけるのは難しいだけでなく、誤入力の原因にもなる。したがって、ユーザはフォーマッタを起動して実際のレイアウトを生成するまで誤りに気がつかないことが多く、また、誤りを発見するたびにテキストを修正し、フォーマッタを再び起動しなければならない。フォーマッタがレイアウトを生成するために要する時間は必ずしも短くないので、作業が煩雑であるのみならず、時間もかかっていた。このように罫表を作成する作業は煩雑であり、決定された罫表概形が複雑である場合には、その罫表概形に従って実際に表を作成していく作業も煩雑となる。
【００１２】
また、従来の方法では、１つの表は一括して作成されるため、見出し項目や要素データを部分的に共有する他の表を作成する場合に、すでに作られた表の一部を再利用することが難しいという問題もあった。
【００１３】
さらに、従来の方法では、１つの表は一括して作成されるため、大きな表を作成するのが難しかった。ＷＹＳＩＷＹＧ方式では、１画面からはみ出すような大きな表を作成する場合、必要な見出し項目が画面上からスクロールアウトしてしまうという欠点があった。そのため、現在入力しているデータがどの見出し項目に対応しているものか分からなくなり、入力ミスの原因となっていた。対応する見出し項目を確かめるためには、画面をスクロールさせて見出し項目を確認する必要があるが、今度は入力しつつあったデータ枠が画面からスクロールアウトしてしまうので、入力を続けるためには再び画面をスクロールしなければならない。このように、大きな表を入力する際には非常な手間がかかっていた。コマンド埋め込み方式では、作成するべきテキストが読みにくいので、そうでなくても見出し項目と入力データの対応を正しく保つのが難しかった。表が大きくなると、テキストの量は膨大となり、見出し項目と入力データの対応の保持は著しく難しくなる。
【００１４】
一方、リレーショナルデータベース（ＲＤＢ）では、表形式のデータ構造を取るため、データを出力する際も表形式で出力することが多い。このため、表作成手段として文書作成編集装置以外にもＲＤＢを使用することが考えられる。
【００１５】
ＲＤＢにおける表は以下のように定義される。まず、一つのＲＤＢの表には固有のスキーマが一つ与えられる。スキーマとは表を構成するカラムの列のことであり、通常、各カラムにはアトリビュートと呼ばれる固有の名前（列見出し）が与えられる。仮にアトリビュートが与えられないとしても、個々のカラムは互いに識別可能なように管理される。スキーマは、ＲＤＢでタプルと呼ばれるレコードを登録するための枠組みであり、それ自身はレコードを持たない。スキーマをデータベース中に定義した後、レコードをスキーマに対応づけて登録することにより表を作成する。ＲＤＢにおけるレコードはタプルと呼ばれ、表のスキーマの各カラムに対して一つずつ対応する値を持つ値の列である。一つのタプルは表の中で一つのローとして表現される。
【００１６】
ＲＤＢのデータベースはそれぞれ固有のスキーマを持つ複数の表の集まりである。データベースへの検索は、既存の表から新しい表を生成することで実行される。生成された新しい表も、ＲＤＢの表の形式に従う。すなわち、カラムの列である固有のスキーマを持ち、ローとして表現されるタプルの集まりである。
【００１７】
ＲＤＢでは、既存の表から新しく表を生成するための規則として、関係代数と呼ばれる代数系を用意している。この代数系は、前述の規則に従う表の集合上で閉じた５個の演算を持つ。具体的には、ｕｎｉｏｎ，ｄｉｆｆｅｒｅｎｃｅ，ｐｒｏｊｅｃｔｉｏｎ，ｐｒｏｄｕｃｔｉｏｎ，ｓｅｌｅｃｔｉｏｎが関係代数に定義される演算である。ＲＤＢの検索式は、これらの演算を組み合せた代数式として表現される。このような演算が用意されているため、ユーザーはデータベースに小さな表を複数作成しておき、それらの表に対してこの演算を使用することにより、小さな表を組み合わせて大きな表を簡単に作成することができる。このため、ユーザーは大きな表を一括して作成する必要はなく、また小さな表を保存しておき、それを別の表を作成するために再利用するということも可能である。しかしながら、ＲＤＢにおいては、表の合成（ｐｒｏｄｕｃｔｉｏｎ，ｊｏｉｎ）も含めた関係代数の演算において、演算の入力と出力の間で単純な均一性が保たれていること、すなわち、表のスキーマは常に単純なカラムの列であるという性質を保っている必要がある。
【００１８】
図３は、表の第１の例の説明図である。図３に示した表は、２つのカラム（左から順番にカラム１，２，．．．と呼ぶことにする）と５つのロー（上から順番にロー１，２，．．．と呼ぶことにする）からなっているが、さらにロー１とロー２に対する親ロー（ロー１１と呼ぶことにする）が存在し、これは見出し“ａｎｔ”がロー１とロー２にまたがっていることにより示されている。同様にロー３とロー４に対する親ロー（ロー１２と呼ぶことにする）が存在し、そのロー１２は見出し“ｂｕｔｔｅｒｆｌｙ”により示されている。さらに、ロー１１とロー１２に対する親ローが存在し、それらにまたがる見出し“Ａｒｔｈｒｏｐｏｄ”により示されている。
【００１９】
このように、図３に示した表では、カラム及びローが順序付けられた子のカラム，ローを保持し、さらに再帰的にその子カラム，ローもそれ自身の子のカラム，ローを保持し、全体としてカラムやローが木構造をなしている。図３に示すような構造の表は特殊なものではなく、広く一般に使用されている。
【００２０】
ＲＤＢにおいては、表はレコードの集まりを仮想的に表現するための手段であり、表の単純な均一性はデータベース管理システム（Ｄａｔａｂａｓｅ  Ｍａｎａｇｉｎｇ  Ｓｙｓｔｅｍ）の設計、構成を単純にし、一貫性のあるシステムの構築を容易にするという利点を提供する。しかし、例えば図３に示したような、カラム及びローに木構造を持つ表を操作の対象とすることができないという欠点を有している。
【００２１】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、カラム及びローに木構造を持つような複雑な表であっても簡単に作成でき、作成した表を再利用することができる、操作性のよい表作成装置及び表作成方法を提供することを目的とするものである。
【００２２】
【課題を解決するための手段】
本発明は、カラムおよびローの親子関係を木構造として示し、この木構造に従って表入力テンプレートを生成して画面に表示する表入力テンプレート生成手段と、表入力テンプレートに対する項目の入力を受け付けるとともに、項目が入力された前記表入力テンプレートから部分表を生成する表項目入力手段と、この表項目入力手段が生成した部分表を必要な数だけ保持する部分表保持手段と、複数の部分表におけるカラム及びローの木構造間に順序関係を定義し部分表を合成するためのパラメータを保持する表合成パラメータ保持手段と、個々の木構造を保存したまま前記表合成パラメータ保持手段に保持されている木構造間の順序関係を示す前記パラメータに従って部分表保持手段に保持された部分表を合成して一つの表を生成する表合成手段を有する表作成装置を構成することにより、また同様の構成により表作成方法を実現することにより、目的を達成するものである。
【００２３】
【発明の実施の形態】
図１は、本発明の表作成装置の第１の実施の形態を示す構成図である。図中、１は表入力テンプレート生成部、２は表項目入力部、３は部分表保持部、４は表合成パラメータ保持部、５は表合成部である。また、図中の矢印はデータの流れを表わしている。
【００２４】
表入力テンプレート生成部１は、ユーザーインターフェースを介してユーザからカラムにおける木構造の数、カラムの木構造のレベル数、各レベルにおける親カラムの子となるカラムの数、ローにおける木構造の数、ローの木構造のレベル数、各レベルにおける親ローの子となるローの数の組からなる指定を複数組受け、各々の組に対して指定を満たす表入力テンプレートを生成する。表項目入力部２は、表入力テンプレート生成部１により生成された表入力テンプレートの各々に項目を入力するためのユーザーインタフェースをユーザに提供し、さらに項目が入力された表入力テンプレートから部分表を生成する。部分表保持部３は、表項目入力部２を介してユーザが表項目を入力し、生成した部分表を必要な数だけ保持する。表合成パラメータ保持部４は、部分表を合成するためのパラメータを保持する。この例において保持されるパラメータは、複数の部分表におけるカラム及びローの木構造間に順序関係を定義するものであり、その順序関係はユーザーによりユーザーインターフェースを介して指定されるものとする。表合成部５は、個々の木構造を保存したまま、表合成パラメータ保持部４に保持された順序関係に従って部分表保持部３に保持された部分表を合成して一つの表を生成する。
【００２５】
図４は、本発明の表作成装置の第１の実施の形態における動作の一例を示すフローチャートである。Ｓ１１において、ユーザーは表入力テンプレート生成部１に対して、ユーザーインターフェースを介してカラムにおける木構造の数、カラムの木構造のレベル数、各レベルにおける親カラムの子となるカラムの数、ローにおける木構造の数、ローの木構造のレベル数、各レベルにおける親ローの子となるローの数の組を１以上指定する。Ｓ１２において、表入力テンプレート生成部１は、ユーザーの指定を受けて、各々の組に対してその指定を満たす表入力テンプレートを生成し、表示する。Ｓ１３において、ユーザーは表項目入力部２を使用して、表示されている表入力テンプレートに対して項目及びカラム／ローに対応する見出しの入力を行なう。Ｓ１４において、表項目入力部２はＳ１３におけるユーザーの入力を受けて、部分表を作成する。Ｓ１５において、部分表保持部３は表項目入力部２が生成した部分表を保持する。
【００２６】
一方、Ｓ１６において、ユーザーは表合成パラメータ保持部４に対し、複数の部分表におけるカラム及びローの木構造間の順序関係に関する指定を、ユーザーインターフェースを介して行なう。ここで行なう指定は、「カラム及びロー各々に対する、木構造のルートに対応する見出しからなる列」という形式で行なう。Ｓ１６で行なわれた指定は、Ｓ１７において表合成パラメータ保持部４に保持される。
【００２７】
表合成部５は以下の手順により表を生成する。まずＳ１８において、表合成パラメータ保持部４に保持されているカラム及びローの木構造間の順序関係に従って生成される表のカラム及びローの構造を決定する。この際、カラム（ロー）の見出しの配置は、同じ木構造上のレベルの見出しは横一行（縦一列）になるようにする。カラム及びローの構造が決定したら、Ｓ１９において、カラムとローの各交点の表項目を、部分表における同じカラムとローの交点の表項目とする。このようにして、カラムやローが木構造の順序関係を有する複雑な表であっても、作表することができる。
【００２８】
具体例をもとに、上述の動作を説明する。ユーザは、目的とする表を作成する際には、その表のうち、規則性を有する部分ごとに部分表を作成し、後でこれらを合成する。一般に、Ｎ次元のマトリックスにおける各交点に存在するデータを表にする時、木構造の１レベルを一つの次元に対応させるならば、あるレベルのカラム（ロー）の子となるカラム（ロー）の数は、その子のレベルに対応した次元における要素数に等しいという規則性を持つ。図５は、表の第２の例の説明図である。例えば図５に示す表は、（ｗ∧ｘ）∨（¬ｙ∧ｚ）の真理表の例を示しており、ｗ，ｘ，ｙ，ｚの４次元のマトリックス上のデータを表にしたものである。カラム及びローに２次元ずつ対応付けているが、見出し“ｗ＝Ｔ”で示されるカラムも、“ｗ＝Ｆ”で示されるカラムも、その子のレベルに対応した次元における要素数が２であるために、どちらも等しく２つの子カラムを保持している。同様に、見出し“ｙ＝Ｔ”で示されるローも、“ｙ＝Ｆ”で示されるローも、その子のレベルに対応した次元における要素数が２であり、どちらも等しく２つの子ローを保持している。例えば作成しようとする表のうち、図５に示すような規則性を有する部分ごとに、部分表として作成してゆく。
【００２９】
図６、図７は、本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。表入力テンプレート生成部１は、上述のような規則性を有する部分表の表入力テンプレートを生成するために、例えば図６や図７に示すような表示を行ない、ユーザーに各項目の入力を促す。図６、図７に示した例では、カラムにおける木構造の数、カラムの木構造のレベル数、各レベルにおける親カラムの子となるカラムの数、ローにおける木構造の数、ローの木構造のレベル数、各レベルにおける親ローの子となるローの数について、ユーザーが入力可能である。
【００３０】
図６に示した例では、カラムにおける木構造の数が２であるので、最上位のカラムの見出しが２つ存在することを示している。また、カラムの木構造のレベル数が２であるので、カラムの見出しは２段になることを示している。さらに、子となるカラム数の欄で、レベル１の子となるカラム数が２であるので、最上位のカラムのそれぞれについて、２つのカラムを有することを示している。これらの子カラムについては、木構造のレベル数が２であったことから、その子カラム（孫カラム）は存在しない。同様に、ローにおける木構造の数が２であって、木構造のレベル数が１であるので、ローの見出しは１列に２つが並ぶ構造であることを指定している。
【００３１】
また、図７に示した例では、カラム、ローともに木構造のレベル数が１であるので、見出しは１行、１列のみであり、ローの木構造の数が２であるので、ローの見出しが２つ存在する部分表を指定していることになる。
【００３２】
図８は、本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部で指定された木構造の一例を示す概念図である。それぞれ、（Ａ），（Ｃ）にカラムの木構造を示し、（Ｂ），（Ｄ）にローの木構造を示している。また、白丸で示したノードはそれぞれが見出しとなる。
【００３３】
図８（Ａ），（Ｂ）は、図６で指定した木構造を樹形図として示している。例えばカラムは、図８（Ａ）に示したように、木構造の数が２であるので、木構造が２つである。また、木構造のレベル数が２であるので、それぞれルートにあたるノードの下位にノードが存在し、２段階のレベルを有している。さらに、第１のレベルの子となるカラム数が２であるので、各木構造のルートにあたるノードの下位に、２つずつのノードが存在している。ローについては図８（Ｂ）に示したように、木構造の数が２であるので、木構造が２つであるが、木構造のレベル数が１であるので、そのノードの下にはなにも接続されない。また、図８（Ｃ），（Ｄ）は図７で指定した木構造の樹形図を示しており、カラムについては図８（Ｃ）に示すようにノードが１つのみ、ローについては図８（Ｄ）に示すように木構造のルートにあたるノードが２つ並置されるのみである。
【００３４】
Ｓ１１でユーザーは、このようにしてユーザーインターフェースを介してカラムにおける木構造の数、カラムの木構造のレベル数、各レベルにおける親カラムの子となるカラムの数、ローにおける木構造の数、ローの木構造のレベル数、各レベルにおける親ローの子となるローの数を入力し、表入力テンプレート生成部に対し指定を行なう。
【００３５】
表入力テンプレート生成部１は、例えば図６、図７に示すようなユーザーの指定を受けて、Ｓ１２において表入力テンプレートを生成し、表示する。図９、図１０は、本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。図６、図７に示したようなユーザーの入力指示に対応し、表入力テンプレート生成部１は、図９、図１０に示すような表入力テンプレートを生成する。
【００３６】
上述のように、ユーザーは図６においてカラムの木構造のレベル数が２であり、木構造の数が２、第２レベルのカラム数が２であることを指定した。また、ローの木構造のレベル数が１、木構造の数が２であることを指定した。これらの指定に従い、表入力テンプレート生成部１は図９に示すように、カラムの見出しが２段であり、上段の見出しが２つ、下段の見出しがそれぞれの上段の見出しについて２つずつであり、ローの見出しが２つ存在する表入力テンプレートを生成する。
【００３７】
同様に、ユーザーは図７においてカラムの木構造のレベル数が１、木構造の数が１、ローの木構造のレベル数が１、木構造の数が２であることを指定したので、これらの指定に従い、表入力テンプレート生成部１は図１０に示すように、カラムの見出しが１つ、ローの見出しが２つ存在する表入力テンプレートを生成する。
【００３８】
図９、図１０に示した表入力テンプレートはそれぞれ表示され、Ｓ１３においてユーザーは表項目入力部２を使用して、項目及びカラム／ローに対応する見出しの入力を行なう。図１１、図１２は、本発明の表作成装置の第１の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。図１１は、図９に示した表入力テンプレートをもとに、項目および見出しを入力した例を示している。また、図１２は、図１０に示した表入力テンプレートをもとに、項目および見出しを入力した例を示している。
【００３９】
表項目入力部２は、ユーザーが項目を入力することにより、Ｓ１４において図１１及び図１２に示す部分表を作成する。作成された部分表は、Ｓ１５において部分表保持部３に保持される。
【００４０】
次にＳ１６において、ユーザーは表合成パラメータ保持部４に対し、部分表におけるカラム及びローの木構造間の順序関係に関する指定をする。木構造によってカラムやローをグルーピングし、同一の木構造に含まれるカラムやローをレイアウト上近接して配置する理由の一つとして、それらカラムやローがある共通の性質を持つために、共通の性質を持つものをまとまって配置することで表を見やすくするということがある。例えば、図３に示した表の例において、見出し“ａｎｔ”で示されるローと“ｂｕｔｔｅｒｆｌｙ”で示されるローが上下に隣りあっているのは、これらのローで示されるデータが、“Ａｒｔｈｒｏｐｏｄ”に関するという共通の性質を持っているからである。また、一つの親カラム（ロー）における子カラム（ロー）の順番も、何らかの意味がある場合が多い。図１３は、表の第３の例の説明図である。例えば図１３において、左４つのカラムが年の順に並んでいる。これらの順番はこの順、あるいは逆順など、順に並んでいることが必要である。また、一つの表内における木構造間の順番も意味があることがある。例えば図１３に示す表において、見出し“年度”で示されるカラムと、見出し“合計”で示されるカラムはそれぞれで独立した木構造をなしているが、それらがなす順番は意味がある。この第１の実施の形態では、木構造間の順番を表合成パラメータとして与え、また、各木構造内の順番についてはそのまま保存するように構成している。
【００４１】
図１４は、本発明の表作成装置の第１の実施の形態において表合成パラメータ保持部が提供するユーザーインターフェースの一例の説明図である。上述のように、表合成パラメータとして、複数の部分表におけるカラム及びローの木構造間の順序関係に関する指定を行なう。図１４に示した例では、カラムについては“Ａｎｔ”，“Ｂｕｔｔｅｒｆｌｙ”，“Ｓｎａｉｌ”の各見出しがこの順で並ぶことを指定しており、ローについては“＃  ｏｆ  ｌｅｇｓ”，“＃  ｏｆ  ｗｉｎｇｓ”の各見出しがこの順で並ぶことを指定している。このとき指定に用いる見出しは、各木構造のルートにあたるノードの見出しである。また、表合成パラメータとして与える木構造間の順序関係は、同一の部分表に含まれる木構造間の順序関係については同一の順序とすることにより、部分表における木構造の順番を保ったまま、後述するように表を合成することができる。このようにして指定されたカラムおよびローの木構造間の順序関係は、Ｓ１７において表合成パラメータ保持部４に保持される。
【００４２】
表合成部５は、まずＳ１８において、表合成パラメータ保持部４に保持されたカラム及びローの木構造間の順序関係に従って表のカラム及びローの構造を決定する。図１５は、本発明の表作成装置の第１の実施の形態において表合成部が生成する合成表の構造の一例の説明図である。表合成パラメータ保持部４に保持されている表合成パラメータから、カラムに対しては“Ａｎｔ”，“Ｂｕｔｔｅｒｆｌｙ”，“Ｓｎａｉｌ”の順番で木構造が並ぶように指定されている。さらに、部分表保持部３に保持されているカラムの見出しの木構造から、各木構造のレベル１の見出しである“Ａｎｔ”，“Ｂｕｔｔｅｒｆｌｙ”のそれぞれについて、レベル２の見出しである“Ｆｅｍａｌｅ”，“Ｍａｌｅ”が並ぶことがわかる。これらから、図１６に示すようにカラムの構造が決定される。ローも同様であるが、見出しはレベル１しか存在しないので、表合成パラメータで指定された“＃  ｏｆ  ｌｅｇｓ”，“＃  ｏｆ  ｗｉｎｇｓ”がこの順で縦に並べられる。このようにして、全体として図１５に示すような合成表の構造が決定される。
【００４３】
次にＳ１９において、カラムとローの各交点の表項目を、部分表における同じカラムとローの交点の表項目とする。例えば、“Ａｎｔ”，“Ｆｅｍａｌｅ”の見出しに対応するカラムと“＃  ｏｆ  ｌｅｇｓ”の見出しに対応するローの交点の表項目は、同一の交点を持つ図１１の部分表から、“６”であると決定される。他の表項目についても同様である。図１６は、本発明の表作成装置の第１の実施の形態において表合成部が生成した合成表の一例の説明図である。このようにして図１５に示すような合成表の構造において、表項目をそれぞれ決定してゆくことにより、結果として図１６に示すような表が合成される。
【００４４】
このように、第１の実施の形態によれば、ユーザーは構造が規格化され、かつ小さい、つまり構造や内容が把握しやすい、表の入力テンプレートに項目を入力して部分表を構成するだけで、複雑なカラム及びロー構造を持つ表を得ることができる。特に、上述のように表テンプレート生成部１において、ユーザからカラムにおける木構造の数、カラムの木構造のレベル数、各レベルにおける親カラムの子となるカラムの数、ローにおける木構造の数、ローの木構造のレベル数、各レベルにおける親ローの子となるローの数の指定を受けて、この指定を満たす表入力テンプレートを生成することにより、規格化された表入力テンプレートを簡便に作成できる。さらに、複数の部分表におけるカラム及びローの木構造間の順序関係を表合成パラメータとして与えることによって、表合成部５は、個々の木構造を保存したまま表を合成することができる。このように複数のカラム（ロー）からなる木構造を一つのものとして扱うことで、個々のカラム（ロー）を別々に扱うよりも合成を簡便なものとし、合成された表を見やすくすることが可能となる。
【００４５】
次に、本発明の表作成装置の第２の実施の形態について説明する。図１７は、表の第４の例の説明図である。図１７に示す表において、“Ａｒｔｈｒｏｐｏｄ”と“Ｇａｓｔｒｏｐｏｄ”で示されるローのように、一つの木構造の同じレベルのカラム（ロー）であっても、その下にくる部分木構造の深さが異なることがある。上述の第１の実施の形態では、木構造の深さは指定したレベルとなってしまう。また、部分表を別に作成するとしても、最上位のレベルを共通化することはできない。このような不具合を解消するため、この第２の実施の形態では、第１の部分表の部分木構造もしくは木構造を第２の部分表の木構造の特定のノードの下位構造として接合することによって、木構造の階層の深さを部分的に変更し、図１７に示すような表を合成することを可能とするものである。
【００４６】
図１８は、本発明の表作成装置の第２の実施の形態を示す構成図である。図中の符号は図１と同様であり、第１の実施の形態と異なる点のみを説明する。表合成パラメータ保持部４が保持するパラメータは、ある第１の部分表の部分木構造もしくは木構造と、第１の部分表とは異なる第２の部分表の木構造の特定のノードとを対応付けるものである。どの部分木構造をどのノードに接合するかはユーザーにより指定されるものとする。表合成部５は、表合成パラメータ保持部４にて対応付けられた第１の部分表の部分木構造もしくは木構造を、第２の部分表の木構造の特定のノードの下位構造として接合することにより、二つの部分表を合成する。
【００４７】
図１９は、本発明の表作成装置の第２の実施の形態における動作の一例を示すフローチャートである。Ｓ２１において、ユーザーは表入力テンプレート生成部１に対して、ユーザーインターフェースを介してカラムにおける木構造の数、カラムの木構造のレベル数、各レベルにおける親カラムの子となるカラムの数、ローにおける木構造の数、ローの木構造のレベル数、各レベルにおける親ローの子となるローの数の組を１以上指定する。Ｓ２２において、表入力テンプレート生成部１は、ユーザーの指定を受けて、各々の組に対してその指定を満たす表入力テンプレートを生成し、表示する。Ｓ２３において、ユーザーは表項目入力部２を使用して、表示されている表入力テンプレートに対して項目及びカラム／ローに対応する見出しの入力を行なう。Ｓ２４において、表項目入力部２はＳ２３におけるユーザーの入力を受けて、部分表を作成する。Ｓ２５において、部分表保持部３は表項目入力部２が生成した部分表を保持する。
【００４８】
一方、Ｓ２６において、表合成パラメータ保持部４は部分表保持部３に保持されている部分表を表示する。Ｓ２７において、ユーザーは表示された部分表上で「どの部分木構造」を「どのノード」に接合するかに関して指定する。Ｓ２８において、表合成パラメータ保持部４は、Ｓ２７でなされた指定を保持する。
【００４９】
表合成部５は以下の手順により表を生成する。まずＳ２９において、表合成パラメータ保持部４に保持されている接合に関する指定に従って接合を行ない、生成される表のカラム及びローの構造を決定する。この際、カラム（ロー）の見出しの配置は、同じレベル（木構造上）の見出しは横一行（縦一列）になるようにする。カラム及びローの構造が決定したら、Ｓ３０において、カラムとローの各交点の表項目を、部分表における同じカラムとローの交点の表項目とする。このようにして、第１の部分表の部分木構造もしくは木構造を第２の部分表の木構造の特定のノードの下位構造として接合し、木構造の階層の深さを部分的に変更した表を合成することができる。
【００５０】
具体例をもとに、上述の動作を説明する。図２０、図２１は、本発明の表作成装置の第２の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図、図２２は、同じく表入力テンプレート生成部で指定された木構造の一例を示す概念図である。ユーザーはＳ２１において表入力テンプレート生成部１に対し、図２０及び図２１に示すように入力し、表入力テンプレート生成部１に対し指定を行なう。図２０、図２１に示したユーザーインターフェースは、上述の図６、図７に示したものと同じであり、入力されたデータが異なるのみである。図２０では、カラムとして３つの見出しが配列され、ローとして２つの見出しが配列されることが指定されている。また、図２１では、カラムの見出しとして、レベル１の見出しが２つ配列され、それぞれの見出しの小見出しとしてそれぞれ２つずつの見出しが配列されることが指定されている。ローの見出しは２つの見出しが配列されることが指定されている。
【００５１】
これらの指定に基づく見出しの木構造を図２２に示している。図２２（Ａ）は図２０で指定された表のカラムの見出しの木構造を示し、図２２（Ｂ）は同じくローの見出しの木構造を示している。また、図２２（Ｃ）は図２１で指定された表のカラムの見出しの木構造を示し、図２２（Ｄ）は同じくローの見出しの木構造を示している。
【００５２】
表入力テンプレート生成部１は、例えば図２０、図２１に示すようなユーザーの指定を受けて、Ｓ２２において表入力テンプレートを生成し、表示する。図２３、図２４は、本発明の表作成装置の第２の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。図２０、図２１に示したようなユーザーの入力指示に対応し、表入力テンプレート生成部１は、図２３、図２４に示すような表入力テンプレートを生成し、表示する。
【００５３】
ユーザーはＳ２３において表項目入力部２を使用して、項目及びカラム／ローに対応する見出しの入力を行なう。図２５、図２６は、本発明の表作成装置の第２の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。図２５は、図２３に示した表入力テンプレートをもとに、項目および見出しを入力した例を示している。また、図２６は、図２４に示した表入力テンプレートをもとに、項目および見出しを入力した例を示している。ここで、図２５に示した部分表では、カラム見出し“Ａｎｔ”と“Ｂｕｔｔｅｒｆｌｙ”の列には項目の入力がなされていない。この部分に図２６に示す部分表を挿入することを意図したものである。
【００５４】
表項目入力部２は、ユーザーが項目を入力することにより、Ｓ２４において図２５及び図２６に示す部分表を作成する。作成された部分表は、Ｓ２５において部分表保持部３に保持される。
【００５５】
表合成パラメータ保持部４は、Ｓ２６において、部分表保持部３に保持されている図２５、図２６に示す部分表を表示する。ユーザーはＳ２７において、表示されている部分表上で「どの部分木構造」を「どのノード」に接合するかに関して指定する。ここでは、図２６に示す部分表の見出し“Ａｎｔ”の子カラムである２つのカラム各々からなる部分木構造を、図２５に示す部分表の見出し“Ａｎｔ”のノードに接合すること、および、図２６に示す部分表の見出し“Ｂｕｔｔｅｒｆｌｙ”の子カラムである２つのカラム各々からなる部分木構造を、図２５に示す部分表の見出し“Ｂｕｔｔｅｒｆｌｙ”のノードに接合することを指定するものとする。
【００５６】
図２７は、本発明の表作成装置の第２の実施の形態において表合成パラメータ保持部で指定された木構造の接合の指定の一例を示す概念図である。図２７（Ａ）は図２５に示す部分表のカラムの木構造を示しており、図２７（Ｂ）は図２６に示す部分表のカラムの木構造を示している。上述のように接合の指定を行なうことによって、図２７（Ｂ）に破線で囲んで示した部分木構造が図２７（Ａ）に示す木構造に接合され、図２７（Ｃ）に示すような木構造を形成するように指示したことになる。このような接合に関する指定は、Ｓ２８において表合成パラメータ保持部４に保持される。
【００５７】
表合成部５は、まずＳ２９において、表合成パラメータ保持部４に保持されている接合に関する指定に従って接合を行ない、上述の図１５に示したように生成される表のカラム及びローの構造を決定する。
【００５８】
次にＳ３０において、カラムとローの各交点の表項目を、部分表における同じカラムとローの交点の表項目とする。例えば、“Ａｎｔ”，“Ｆｅｍａｌｅ”の見出しに対応するカラムと“＃  ｏｆ  ｌｅｇｓ”の見出しに対応するローの交点の表項目は、同一の交点を持つ図２６の部分表から、“６”であると決定される。他の表項目についても同様である。このようにして上述の図１５に示すような合成表の構造において、表項目をそれぞれ決定してゆくことにより、結果として上述の図１６に示すような表が合成される。
【００５９】
このように、第２の実施の形態によれば、表合成パラメータ保持部４に保持される表合成パラメータとして、第１の部分表の部分木構造もしくは木構造と、第２の部分表の木構造の特定のノードとの対応付けを保持し、表合成部５は表合成パラメータ保持部４にて対応付けられた第１の部分表の部分木構造もしくは木構造を第２の部分表の木構造の特定のノードの下位構造として接合することによって、木構造の階層の深さが部分的に異なる表であっても簡単に作成することが可能となる。
【００６０】
上述の例では、図２６に示す部分表の見出し“Ａｎｔ”，“Ｂｕｔｔｅｒｆｌｙ”の子カラムであるそれぞれ２つのカラム各々からなる部分木構造を、図２５に示す部分表の見出し“Ａｎｔ”，“Ｂｕｔｔｅｒｆｌｙ”のノードに接合する例を示したが、例えば見出し“Ａｎｔ”，“Ｂｕｔｔｅｒｆｌｙ”をルートとする木構造全体を他のノードに接合してもよい。また、接合するノードは、木構造のルートに対応するノードに限らず、下位のレベルのノードであってももちろんよい。
【００６１】
次に、本発明の表作成装置の第３の実施の形態について説明する。上述の第１および第２の実施の形態では、部分表における木構造内のカラム（ロー）の順番や、木構造間の順番を保ったまま表を合成することにより、見やすい表を得ることができる。しかし、順番を保ったままでは見にくい表となることもある。図２８は、表の第５の例の説明図である。図２８は、図１３と同様の表であり、カラムの見出しの年号が異なっている。ここで、図１３と図２８を合成することを考えると、図１３の年号の順番と図２８の年号の順番をそのまま保ったまま合成したのでは、はなはだ見にくい表となってしまう。このような合成対象の複数の部分表が共通した性質を持つカラム（ロー）を保持しているような場合、それら共通したものをまとめて順序付けを行なうことが望まれる。この第３の実施の形態では、見出しによってソートすることにより、望ましい表の合成を行なうことを可能としている。
【００６２】
この第３の実施の形態の構成は、以下の点を除いて図１に示す第１の実施の形態と同様である。表合成パラメータ保持部４は、表合成パラメータとして、第１レベルよりどのレベルまでソートのキーとして使用するかをユーザーインターフェースを介してユーザに指定させ、この情報を保持する。また、表合成部５は、表合成パラメータ保持部４に保持されているソートのキーに関する表合成パラメータに従い、そのレベルまでの各レベルにおいて見出しによってソートすることによりカラム及びローの木構造を接合し、合成表を作成する。
【００６３】
図２９は、本発明の表作成装置の第３の実施の形態における動作の一例を示すフローチャートである。Ｓ３１において、ユーザーは表入力テンプレート生成部１に対して、ユーザーインターフェースを介してカラムにおける木構造の数、カラムの木構造のレベル数、各レベルにおける親カラムの子となるカラムの数、ローにおける木構造の数、ローの木構造のレベル数、各レベルにおける親ローの子となるローの数の組を１以上指定する。Ｓ３２において、表入力テンプレート生成部１は、ユーザーの指定を受けて、各々の組に対してその指定を満たす表入力テンプレートを生成し、表示する。Ｓ３３において、ユーザーは表項目入力部２を使用して、表示されている表入力テンプレートに対して項目及びカラム／ローに対応する見出しの入力を行なう。Ｓ３４において、表項目入力部２はＳ３３におけるユーザーの入力を受けて、部分表を作成する。Ｓ３５において、部分表保持部３は表項目入力部２が生成した部分表を保持する。
【００６４】
一方、Ｓ３６において、ユーザーはレベル１よりどのレベルまでソートのキーとして使用するかの指定を、ユーザーインターフェースを介して表合成パラメータ保持部４に対して行なう。Ｓ３７において、表合成パラメータ保持部４はＳ３６で行なわれた指定を保持する。
【００６５】
表合成部５は、以下の手順により表を生成する。まずＳ３８において、カラム、及びローのまだソートに使用されていないレベルのうちで最も上のレベルの見出しをソートのキーとして用い、カラムやローをソートする。ソートの方法としては、まずカラム及びローを、ソートのキーとなる見出しの親が共通であるものを一つの群としてグルーピングし、その群内でソートする。ソートは例えば欧文の場合には見出しのアルファベット順で行ない、アルファベット順で前の見出しを持つカラムがより左、ローならより上とする。和文の場合には例えばそのコード順等とすればよい。レベル１の見出しは親を持たないが、これらについてはカラムのレベル１の見出し全体、及びローのレベル１の見出し全体がそれぞれ共通の親を持つものとしてソートする。
【００６６】
もしキーとして使用されているレベルに同じ見出しを持つカラムやローが存在する場合、それらの（部分）木構造は一つの（部分）木構造へとマージされる。新たな（部分）木構造は元の（部分）木構造の親を親とし、（部分）木構造のルートの見出しは元の（部分）木構造のルートの見出しであり、（部分）木構造のルートの子は元の（部分）木構造のルートの子の和である。このようなソートを、指定された範囲内にあるレベルについて行なう。
【００６７】
Ｓ３９において、表合成パラメータ保持部４に保持されているレベルまで、ソートのキーとして使用されたか否かを判定する（Ｓ３９）。もし全てのレベルについてソートのキーとして使用されたならばＳ４０へ進む。もしソートのキーとして使用されていないレベルが存在するならＳ３８へ戻り、それらのレベルについての処理を行なう。
【００６８】
このようにして指定された全てのレベルについてソートの処理が終了してカラム及びローの構造が決定したら、Ｓ４０において、カラムとローの各交点の表項目を、部分表における同じカラムとローの交点の表項目とする。このようにして、指定されたレベルまでの各レベルにおいて見出しによってソートを行なった合成表を作成することができる。
【００６９】
具体例をもとに、上述の動作を説明する。図３０〜図３２は、本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。ユーザーはＳ３１において表入力テンプレート生成部１に対し、図３０〜図３２に示すように入力し、表入力テンプレート生成部１に対し指定を行なう。図３０〜図３２に示したユーザーインターフェースは、上述の図６、図７に示したものと同じであり、入力されたデータが異なるのみである。図３０では、カラムとして２つの見出しが配列され、ローの見出しとしては、レベル１の見出しが１つ、レベル１の子となるレベル２の見出しが１つ、レベル２の子となるレベル３の見出しが２つ配列されることが指定されている。また、図３２では、カラムとして２つのみ出しが配列され、ローの見出しとしては、レベル１の見出しが１つ、レベル１の子となるレベル２の見出しが１つ配列されることが指定されている。なお、図３２における指定は、図３１における指定と同一である。
【００７０】
表入力テンプレート生成部１は、例えば図３０〜図３２に示すようなユーザーの指定を受けて、Ｓ３２において表入力テンプレートを生成し、表示する。図３３〜図３５は、本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。図３０〜図３２に示したようなユーザーの入力指示に対応し、表入力テンプレート生成部１は、図３３〜図３５に示すような表入力テンプレートを生成し、表示する。
【００７１】
ユーザーはＳ３３において表項目入力部２を使用して、項目及びカラム／ローに対応する見出しの入力を行なう。図３６〜図３８は、本発明の表作成装置の第３の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。図３６は、図３３に示した表入力テンプレートをもとに、項目および見出しを入力した例を示している。また、図３７は、図３４に示した表入力テンプレートをもとに、項目および見出しを入力した例を示している。さらに、図３８は、図３５に示した表入力テンプレートをもとに、項目および見出しを入力した例を示している。ここで、図３６に示した部分表と図３７に示した部分表では、構造が同じであるが、ローのレベル２の見出しが異なっている。レベル１、レベル３については同じ見出しが存在するが、レベル３の見出し“ｍａｌｅ”，“ｆｅｍａｌｅ”の順が異なっている。
【００７２】
表項目入力部２は、ユーザーが項目を入力することにより、Ｓ３４において図３６〜図３８に示す部分表を作成する。作成された部分表は、Ｓ３５において部分表保持部３に保持される。
【００７３】
一方、Ｓ３６において、ユーザーは表合成パラメータ保持部４に対し、第１レベルよりどのレベルまでソートのキーとして使用するかをユーザーインターフェースを介して指定する。図３９は、本発明の表作成装置の第３の実施の形態において表合成パラメータ保持部が提供するユーザーインターフェースの一例の説明図である。矩形内にソートのキーとして使用するレベル数を指示することによって、レベル１から指示されたレベルまでをソートのキーとして使用することが指定される。この例では、レベル１からレベル３までをソートのキーとして用いることが指示されている。この指定は、Ｓ３７において表合成パラメータ保持部４に保持される。
【００７４】
表合成部５は、次のようにして表のカラム及びローの構造を決定する。まずＳ３８において、カラム、ローのまだソートに使用されてないレベルのうちで最も上のレベル、つまりレベル１の見出しをキーとしてソートを行なう。レベル１の見出しはカラムのレベル１の見出し全体、及びローのレベル１の見出し全体がそれぞれ共通の親を持つものとしてソートする。この例では、ローについては各部分表のローのレベル１の見出し、つまり図３６に示す部分表のローの見出し“Ａｒｔｈｒｏｐｏｄ”、及び、図３７に示す部分表のローの見出し“Ａｒｔｈｒｏｐｏｄ”、及び、図３８に示す部分表のローの見出し“Ｇａｓｔｒｏｐｏｄ”が一つの群をなしてその中でソートが行われる。アルファベット順において、“Ａｒｔｈｒｏｐｏｄ”は“Ｇａｓｔｒｏｐｏｄ”より前であるので、“Ａｒｔｈｒｏｐｏｄ”のローは“Ｇａｓｔｒｏｐｏｄ”のローよりも上にくることになる。
【００７５】
またこの場合、二つの“Ａｒｔｈｒｏｐｏｄ”は同じ見出しであるので、図３６に示す部分表のローの木構造と図３７に示す部分表のローの木構造はマージされ、新たな一つの木となる。図４０は、本発明の表作成装置の第３の実施の形態において表合成部でソートを行なう際のマージ操作の一例の説明図である。図４０（Ａ）は図３６に示す部分表のローの木構造を示しており、図４０（Ｂ）は図３７に示す部分表のローの木構造を示している。この例ではレベル１のノードにあたる見出しが同じであるので、これを１つにまとめ、図４０（Ｃ）に示すような木構造とする。
【００７６】
図４１は、本発明の表作成装置の第３の実施の形態において表合成部がレベル１でソートした合成表の構造の一例の説明図である。上述のように、ローのレベル１におけるソートと、同じ見出しのマージを行なうことによって、図４１に示すような合成表の構造が得られる。なお、カラムについても同様にレベル１のソートが行なわれる。
【００７７】
Ｓ３９において、表合成パラメータ保持部４に保持されているレベル（レベル３）までソートのキーとして使用したか否かを判定する。この時点ではまだローのレベル２及びレベル３が使用されていないので、Ｓ３８へ戻る。Ｓ３８において、ローについてレベル２の見出しをキーとしてソートを行なう。図４２は、本発明の表作成装置の第３の実施の形態において表合成部がレベル２までソートした合成表の構造の一例の説明図である。ローのレベル２の見出しは、見出し“Ａｒｔｈｒｏｐｏｄ”を親とする“ｂｕｔｔｅｒｆｌｙ”，“ａｎｔ”と、見出し“Ｇａｓｔｒｏｐｏｄ”を親とする“ｓｎａｉｌ”の２つの群にグルーピングされる。最初の群のアルファベット順のソートの結果、“ａｎｔ”のローが上、“ｂｕｔｔｅｒｆｌｙ”が下となる。その結果、図４２に示すような合成表の構造が得られる。
【００７８】
再度Ｓ３９において、表合成パラメータ保持部４に保持されているレベル（レベル３）までソートのキーとして使用したか否かを判定する。この時点ではまだローのレベル３が使用されていないので、Ｓ３８へ戻る。Ｓ３８において、ローについてレベル３の見出しをキーとしてソートを行なう。図４３は、本発明の表作成装置の第３の実施の形態において表合成部がレベル３までソートした合成表の構造の一例の説明図である。ローのレベル３の見出しは“ａｎｔ”を親とする“ｆｅｍａｌｅ”，“ｍａｌｅ”と、“ｂｕｔｔｅｒｆｌｙ”を親とする“ｍａｌｅ”，“ｆｅｍａｌｅ”の２つの群にグルーピングされる。それぞれの群についてアルファベット順にソートされ、“ｆｅｍａｌｅ”，“ｍａｌｅ”の順となる。その結果、図４３に示すような合成表の構造が得られる。
【００７９】
再々度Ｓ３９において、表合成パラメータ保持部４に保持されているレベル（レベル３）までソートのキーとして使用したか否かを判定する。今回はレベル３までソートのキーとして使用し、使用されていないものはないので、Ｓ４０へ進む。
【００８０】
次にＳ４０において、カラムとローの各交点の表項目を、部分表における同じカラムとローの交点の表項目とする。例えば、“Ａｒｔｈｒｏｐｏｄ”，“ａｎｔ”，“ｆｅｍａｌｅ”の見出しに対応するローと“＃  ｏｆ  ｌｅｇｓ”の見出しに対応するカラムの交点の表項目は、同一の交点を持つ図３７に示す部分表から、“６”であると決定される。他の表項目についても同様である。図４４は、本発明の表作成装置の第３の実施の形態において表合成部が生成した合成表の一例の説明図である。このようにして図４３に示すような合成表の構造において、カラムとローの各交点の表項目をそれぞれ決定してゆくことにより、結果として図４４に示すような表が合成される。
【００８１】
このようにして、第３の実施の形態によれば、表合成部５はその見出しによってソートして部分表のカラム及びローの木構造を接合することにより、望ましい表の合成を行なうことが可能となる。
【００８２】
上述の例では、ユーザーが「ソートのキーとして使用するレベルの範囲の下端」を直接レベル数によって指定したが、「最下レベルまで」といった指定や、上端および下端の指定が可能なものであってもよい。また、例ではユーザーが「ソートのキーとして使用するレベルの範囲」を指定したが、ソートのキーとして使用するか否かをレベル一つ一つについてユーザーが指定してもよい。さらに、ソートのキーとして使用される順番が上記の例では上のレベルからであったが、この順番についてもユーザーが指定できるようにしてもよい。また、同一の見出しについては、上述の例ではそれ以下の（部分）木構造をマージしているが、マージしない方法であってもよい。また、上記例ではソートは見出しのアルファベット順で行われたが、文字列長順や年月日順であってもよいし、ユーザーがこれらの中から指定できてもよいし、レベル毎にこれらを変えてもよい。また、上に述ベたような指定はカラムとローに別々に指定できてもよい。
【００８３】
上述の第１ないし第３の実施の形態で示した構成は、組み合わせて構成することが可能である。例えば、第２の実施の形態と第３の実施の形態を組み合わせ、木構造の接合を行なえるとともに、接合後の構造においてソートを行なうように構成することができる。また、第１の実施の形態と第３の実施の形態を組み合わせ、ある部分では木構造や部分木構造の順序を保ち、ある部分ではソートを行なうように構成することもできる。もちろん、第１の実施の形態と第２の実施の形態を組み合わせたり、第１ないし第３の実施の形態を組み合わせて構成してもよい。
【００８４】
上述の例では、部分表の作成から合成表の作成まで一連の処理として説明しているが、本発明はこれに限らない。例えば以前作成した部分表あるいは合成表を部分表保持部３に保持しておき、これらを用いて別の表を合成することもできる。その場合には、利用する部分表を指定し、表合成パラメータを設定して合成させることによって、簡単に以前作成した表を再利用することができる。
【００８５】
【発明の効果】
以上の説明から明らかなように、本発明によれば、表のカラムおよびローを木構造とし、この木構造をもとに表入力テンプレートを生成して項目を入力して部分表を生成するとともに、パラメータに従って木構造をもとに部分表を合成するので、複雑な表であっても簡単に作成でき、作成した表を再利用することができる、操作性のよい表作成装置を提供することができるという効果がある。
【図面の簡単な説明】
【図１】本発明の表作成装置の第１の実施の形態を示す構成図である。
【図２】ＬａＴｅＸによる表の表現の一例の説明図である。
【図３】表の第１の例の説明図である。
【図４】本発明の表作成装置の第１の実施の形態における動作の一例を示すフローチャートである。
【図５】表の第２の例の説明図である。
【図６】本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。
【図７】本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。
【図８】本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部で指定された木構造の一例を示す概念図である。
【図９】本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。
【図１０】本発明の表作成装置の第１の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。
【図１１】本発明の表作成装置の第１の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。
【図１２】本発明の表作成装置の第１の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。
【図１３】表の第３の例の説明図である。
【図１４】本発明の表作成装置の第１の実施の形態において表合成パラメータ保持部が提供するユーザーインターフェースの一例の説明図である。
【図１５】本発明の表作成装置の第１の実施の形態において表合成部が生成する合成表の構造の一例の説明図である。
【図１６】本発明の表作成装置の第１の実施の形態において表合成部が生成した合成表の一例の説明図である。
【図１７】表の第４の例の説明図である。
【図１８】本発明の表作成装置の第２の実施の形態を示す構成図である。
【図１９】本発明の表作成装置の第２の実施の形態における動作の一例を示すフローチャートである。
【図２０】本発明の表作成装置の第２の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。
【図２１】本発明の表作成装置の第２の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。
【図２２】本発明の表作成装置の第２の実施の形態において表入力テンプレート生成部で指定された木構造の一例を示す概念図である。
【図２３】本発明の表作成装置の第２の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。
【図２４】本発明の表作成装置の第２の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。
【図２５】本発明の表作成装置の第２の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。
【図２６】本発明の表作成装置の第２の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。
【図２７】本発明の表作成装置の第２の実施の形態において表合成パラメータ保持部で指定された木構造の接合の指定の一例を示す概念図である。
【図２８】表の第５の例の説明図である。
【図２９】本発明の表作成装置の第３の実施の形態における動作の一例を示すフローチャートである。
【図３０】本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。
【図３１】本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。
【図３２】本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が提供するユーザーインターフェースの一例の説明図である。
【図３３】本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。
【図３４】本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。
【図３５】本発明の表作成装置の第３の実施の形態において表入力テンプレート生成部が生成した表入力テンプレートの一例の説明図である。
【図３６】本発明の表作成装置の第３の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。
【図３７】本発明の表作成装置の第３の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。
【図３８】本発明の表作成装置の第３の実施の形態において表項目入力部で項目および見出しが入力された部分表の一例の説明図である。
【図３９】本発明の表作成装置の第３の実施の形態において表合成パラメータ保持部が提供するユーザーインターフェースの一例の説明図である。
【図４０】本発明の表作成装置の第３の実施の形態において表合成部でソートを行なう際のマージ操作の一例の説明図である。
【図４１】本発明の表作成装置の第３の実施の形態において表合成部がレベル１でソートした合成表の構造の一例の説明図である。
【図４２】本発明の表作成装置の第３の実施の形態において表合成部がレベル２までソートした合成表の構造の一例の説明図である。
【図４３】本発明の表作成装置の第３の実施の形態において表合成部がレベル３までソートした合成表の構造の一例の説明図である。
【図４４】本発明の表作成装置の第３の実施の形態において表合成部が生成した合成表の一例の説明図である。
【符号の説明】
１…表入力テンプレート生成部、２…表項目入力部、３…部分表保持部、４…表合成パラメータ保持部、５…表合成部。
【図１】
0003613920.tif 000002
【図２】
0003613920.tif 000003
【図３】
0003613920.tif 000004
【図４】
0003613920.tif 000005
【図５】
0003613920.tif 000006
【図６】
0003613920.tif 000007
【図７】
0003613920.tif 000008
【図８】
0003613920.tif 000009
【図９】
0003613920.tif 000010
【図１０】
0003613920.tif 000011
【図１１】
0003613920.tif 000012
【図１２】
0003613920.tif 000013
【図１３】
0003613920.tif 000014
【図１４】
0003613920.tif 000015
【図１５】
0003613920.tif 000016
【図１６】
0003613920.tif 000017
【図１７】
0003613920.tif 000018
【図１８】
0003613920.tif 000019
【図１９】
0003613920.tif 000020
【図２０】
0003613920.tif 000021
【図２１】
0003613920.tif 000022
【図２２】
0003613920.tif 000023
【図２３】
0003613920.tif 000024
【図２４】
0003613920.tif 000025
【図２５】
0003613920.tif 000026
【図２６】
0003613920.tif 000027
【図２７】
0003613920.tif 000028
【図２８】
0003613920.tif 000029
【図２９】
0003613920.tif 000030
【図３０】
0003613920.tif 000031
【図３１】
0003613920.tif 000032
【図３２】
0003613920.tif 000033
【図３３】
0003613920.tif 000034
【図３４】
0003613920.tif 000035
【図３５】
0003613920.tif 000036
【図３６】
0003613920.tif 000037
【図３７】
0003613920.tif 000038
【図３８】
0003613920.tif 000039
【図３９】
0003613920.tif 000040
【図４０】
0003613920.tif 000041
【図４１】
0003613920.tif 000042
【図４２】
0003613920.tif 000043
【図４３】
0003613920.tif 000044
【図４４】
0003613920.tif 000045