(57)【特許請求の範囲】
【請求項１】
文書部品の集合を示す情報と該文書部品に付与されている属性間の関係を示す関係テンプレートを保持する関係テンプレート保持手段と、編集の対象となる文書データを保持する文書保持手段と、前記関係テンプレート中の記述に従って前記文書保持手段中に保持される前記文書データ中の文書部品の同定および特定の文書部品の属性値の取得を任意の回数繰り返し行なって関係付けられる文書部品の組合わせを決定しさらに該組み合わせ中の各文書部品に適用される属性を決定して特定された文書部品の特定された属性に関する属性値設定指示を出力する関係テンプレート評価手段と、文書データの状態又は状態遷移が文書作成者により指示された条件を満たすとき前記関係テンプレート評価手段に対して関係テンプレートの評価を指示する関係テンプレート評価指示手段と、該関係テンプレート評価手段から出力される属性値設定指示およびその他の文書データ編集指示を受理しその指示内容に基づき前記文書保持手段中の文書データに対して少なくとも文書属性記述部分の更新処理を含む編集処理を行なう文書編集手段を具備することを特徴とする文書編集装置。
【請求項２】
文書部品の集合を示す情報と該文書部品に付与されている属性間の関係を示す関係テンプレートを関係テンプレート保持手段に保持しておき、文書データの状態又は状態遷移が文書作成者により指示された条件を満たすときに関係テンプレート評価指示手段が関係テンプレート評価手段に対して関係テンプレートの評価を指示し、該関係テンプレート評価手段は、前記関係テンプレート中の記述に従って文書保持手段中に保持されている編集の対象となる文書データ中の文書部品の同定および特定の文書部品の属性値の取得を任意の回数繰り返し行なって関係付けられる文書部品の組合わせを決定し、さらに該組み合わせ中の各文書部品に適用される属性を決定し、特定された文書部品の特定された属性に関する属性値設定指示を出力し、出力された前記属性値設定指示およびその他の文書データ編集指示を文書編集手段が受理してその指示内容に基づき前記文書データに対して少なくとも文書属性記述部分の更新処理を含む編集処理を行なうことを特徴とする文書編集方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、計算機を利用して文書を作成する際に、文書作成者による編集作業を支援する文書編集装置及び文書編集方法に関するものである。
【０００２】
【従来の技術】
ワープロなどを用いて作成される電子文書中の章や段落、図表などの文書部品には、文字フォントサイズや背景色、マージンなどの多様な属性が定義されている。
【０００３】
従来の文書編集装置で提供されてきた支援機能の一つとして、文書部品属性そのものの設定に関しての種々の機能がサポートされている。この機能としては、同一部品に関する属性群の操作環境を提供するものと、複数の部品にわたって一括して属性を設定するものの２種類に大別できる。
【０００４】
例えば、Ｉｎｔｅｒｌｅａｆ５（商品名）では、文書作成者に対し「プロパティシート」と呼ばれる属性操作環境が提供される。文書作成者が文書部品を選択してプロパティシートの表示指示を出すと、その部品に設定されている属性のうち、あらかじめ文書作成者からの操作が設定されるものを対象とした操作環境がプロパティシートとして表示される。このプロパティシートを用いることによって、ある文書部品に関する属性群の操作を行なうことができる。
【０００５】
また、あるシステムでは、文書作成者が複数の文書部品に同一の属性を付与したい状況を支援するために、スタイル機構が提供されている。スタイル機構では、文書作成者が共通の属性をスタイルシート上に設定する一方、任意の数の部品にスタイルシートの参照を指示することにより、それら部品群に同一の属性を一括して設定することができる。この技術は、例えば、上述のＩｎｔｅｒｌｅａｆ５や、特開平４−８４３５９号公報記載の文書作成処理装置においても提供されている。
【０００６】
これら機能は、あくまでも単一の部品に関する情報からその部品の属性が決定される場合に有効なものである。よって、他の文書部品の属性との関係から属性を決定しようとする場合には、文書作成者は文書編集装置からの有効な支援を期待することができない。
【０００７】
文書部品の属性を設定する際に、他の文書部品の属性との関係を考慮して属性を設定する機能として、文書部品に対し、直前の部品の属性から自らの属性の値を計算する機構を提供する機能が提供されている。例えば、上述のＩｎｔｅｒｌｅａｆ５で作成される文書部品の一種であるインラインコンポーネントでは、プロパティシート上で、直前のテキストの属性を引数とし、自らの属性を計算して設定する機構が提供されている。これにより、例えば、「自らの文字サイズを、直前のテキストの文字サイズよりも常に１ポイント大きくする」といった設定が可能となる。しかしながら、この機能を利用するためには、連続する文書部品でなければならず、しかも、その連続する文書部品に付された同じ属性に対してのみに限られていた。
【０００８】
また、特開平４−１１８６９３号公報に記載されている技術では、表の行または列を単位として、指定された行または列に含まれる複数のフィールドの属性を、例えば、隣接する行または列の属性とは違う属性に変更する旨の設定を行なうことができる。しかしこの技術においても、隣接する行または列の間のみで属性の関係の指定が可能となるのみである。しかも、この文献では、表の属性に限られ、一般の文書についての技術を開示するものではない。
【０００９】
このように、従来の文書編集装置では、文書部品間に成り立つ関係は全く考慮されていないか、考慮されている場合でも、極めて限定された関係のみが支援の対象となっていた。従って、従来より提供されてきた技術またはこれらの単なる組合わせでは、現実の文書作成における属性間の多様な関係を統一的に管理することは困難であった。従って、従来より提供されてきた技術またはこれらの単なる組合せでは、現実の文書作成における属性間の多様な関係を統一的に管理することは困難であった。管理すべき属性間の関係には、例えば以下のものがある。
（１）見出しと段落、段落と脚注の文字フォントサイズの大小関係
（２）表中の各行または列の背景色パターン
【００１０】
【発明が解決しようとする課題】
本発明は、上述した問題点に鑑みてなされたもので、電子文書の作成時に発生する文書部品の属性間の多様な関係を管理し、文書作成に伴う文書構造の変化や文書部品の属性の変更が生じた場合でも、適切な支援を行なうことができる文書編集装置を提供することを目的とするものである。
【００１１】
【課題を解決するための手段】
本発明は、文書編集装置において、文書部品の集合を示す情報と該文書部品に付与されている属性間の関係を示す関係テンプレートを保持する関係テンプレート保持手段と、編集の対象となる文書データを保持する文書保持手段と、前記関係テンプレート中の記述に従って前記文書保持手段中に保持される前記文書データ中の文書部品の同定および特定の文書部品の属性値の取得を任意の回数繰り返し行なって関係付けられる文書部品の組合わせを決定しさらに該組み合わせ中の各文書部品に適用される属性を決定して特定された文書部品の特定された属性に関する属性値設定指示を出力する関係テンプレート評価手段と、文書データの状態又は状態遷移が文書作成者により指示された条件を満たすとき前記関係テンプレート評価手段に対して関係テンプレートの評価を指示する関係テンプレート評価指示手段と、該関係テンプレート評価手段から出力される属性値設定指示およびその他の文書データ編集指示を受理しその指示内容に基づき前記文書保持手段中の文書データに対して少なくとも文書属性記述部分の更新処理を含む編集処理を行なう文書編集手段を具備することを特徴とするものである。
また本発明は、文書編集方法において、文書部品の集合を示す情報と該文書部品に付与されている属性間の関係を示す関係テンプレートを関係テンプレート保持手段に保持しておき、文書データの状態又は状態遷移が文書作成者により指示された条件を満たすときに関係テンプレート評価指示手段が関係テンプレート評価手段に対して関係テンプレートの評価を指示し、該関係テンプレート評価手段は、前記関係テンプレート中の記述に従って文書保持手段中に保持されている編集の対象となる文書データ中の文書部品の同定および特定の文書部品の属性値の取得を任意の回数繰り返し行なって関係付けられる文書部品の組合わせを決定し、さらに該組み合わせ中の各文書部品に適用される属性を決定し、特定された文書部品の特定された属性に関する属性値設定指示を出力し、出力された前記属性値設定指示およびその他の文書データ編集指示を文書編集手段が受理してその指示内容に基づき前記文書データに対して少なくとも文書属性記述部分の更新処理を含む編集処理を行なうことを特徴とするものである。
【００１２】
【作用】
本発明によれば、文書部品の集合を示す情報と、その文書部品に付与されている属性間の関係は、関係テンプレートとして関係テンプレート定義手段で定義され、関係テンプレート保持手段で保持、管理される。そして、この関係テンプレートを関係テンプレート評価手段で評価し、該当する文書部品の属性の間の関係が生成され、文書編集手段でそれらの文書部品の属性の更新処理を行なう。このように、文書作成者は、関係テンプレートとして、ある文書部品の集合を示す例えば代表的な文書部品と、それらの文書部品の属性間の関係を記述することによって、任意の文書部品に付与された属性を他の文書部品の属性との関係に基づき変更することが可能となる。また、関係テンプレートによって複数の文書部品の集合を指定することができるので、一括した属性の変更を行なうことができる。このとき、関係テンプレートと文書データとは別々に保持されており、文書データ中の属性データと関係テンプレート中の属性値設定指示との対応づけは動的に実行される。このため、文書データの文書構造の変化や文書部品の属性の変更が生じた場合でも、対応づけの契機を適切に設定しておくことにより、あらかじめ意図した関係を維持することができる。
【００１３】
【実施例】
図１は、本発明の文書編集装置の第１の実施例を示す構成図である。図中、１は文書編集装置、２は入出力装置、３は文書作成者、１１は関係テンプレート定義部、１２は関係テンプレート保持部、１３は文書保持部、１４は文書編集部、１５は文書部品属性設定部、１６は関係テンプレート評価部、１７は文書部品属性参照部、１８は文書部品同定部である。文書編集装置１は、関係テンプレート定義部１１、関係テンプレート保持部１２、文書保持部１３、文書編集部１４、および、関係テンプレート評価部１６から構成されている。また、入出力装置２は、キーボートやマウスなどの入力装置、および、ＣＲＴディスプレイや表示制御を行なうウィンドウ生成装置などの出力装置等によって構成され、文書作成者３とのインタフェースの機能を果たす。
【００１４】
関係テンプレート定義部１１は、文書作成者３が関係テンプレートを作成するための機能を提供するもので、入出力装置２から入力された関係テンプレート生成指示に応じて、関係テンプレートを作成していく。作成された関係テンプレートは、関係テンプレート保持部１２に保持される。関係テンプレート保持部１２は、関係テンプレート定義部１１で定義された関係テンプレートを受理し、保持管理する。文書保持部１３は、文書編集部１４による編集の対象となる文書データを保持する。
【００１５】
文書編集部１４は、関係テンプレート評価部１６や、文書作成者３などの装置外部からの文書データ編集の指示を受理し、その指示内容を文書保持部１３中の文書データに反映させる。文書編集部１４は、その内部に文書部品属性設定部１５を有している。文書部品属性設定部１５は、文書編集部１４または関係テンプレート評価部１６からの指示に基づき、文書保持部１３に保持されている文書データに対して、指示された文書部品の指示された属性として指示された値を設定する。
【００１６】
関係テンプレート評価部１６は、文書作成者からの明示的な指示、あるいは、文書データの変更に起因する文書部品の属性間の関係の変化などを契機として、関係テンプレートを評価する。そして、関係テンプレート中の記述にしたがって、文書保持部１３に保持された文書データ中の文書部品の同定（例えば、文書部品識別子の取得）、および、特定の文書部品の属性値の取得の２つの処理を任意の時点で任意の回数繰り返す。このように、必要に応じて取得される文書部品および属性を用いて、関係テンプレート中の記述を評価していくことで、関係テンプレートによって関係付けられる文書部品の組み合わせを決定し、さらに、その組み合わせ中の各文書部品に適用される属性を決定する。
【００１７】
関係テンプレート評価部１６は、その内部に文書部品属性参照部１７および文書部品同定部１８を有している。文書部品の属性値の取得の処理の際には、文書部品属性参照部１７を起動する。文書部品属性参照部１７は、関係テンプレートの特定部分を解釈することにより、属性値を取得する。また、文書部品の同定の処理の際には、文書部品同定部１８を起動する。文書部品同定部１８は、関係テンプレートの特定部分を解釈することにより、文書部品を同定する。そして、関係テンプレート評価部１６は、特定された文書部品の特定された属性に関する設定が文書データに対してなされるように、文書部品属性設定部１５に指示を送る。
【００１８】
図２は、関係テンプレートの記述言語の文法の一例を示す説明図である。関係テンプレートは、文書部品の集合を示す情報と、その文書部品に付与されている属性間の関係を示す情報により構成される。これらの情報を記述するため、関係テンプレートでは、「部品集合定義部」と、それに続く「本体部」からなる。「部品集合定義部」は、関係テンプレートの冒頭に一回だけ記述され、その開始記号「ＢＥＧＩＮＤＥＦ」から終了記号「ＥＮＤＤＥＦ」までの間に記述される。そして、「本体部」は、部品集合定義部の後、コマンド「ＥＮＤ」までの部分に記述される。この本体部には、生成したい関係の内容をプログラムとして記述することができる。このようにプログラムとして生成したい関係を記述することによって、多様な関係を記述することができる。本体部の記述には、既存のいかなるプログラム言語（例えば、ＢＡＳＩＣ，Ｐｒｏｌｏｇ，Ｃ，ｌｉｓｐなど）の形式を用いることも可能である。以下の説明では、一例としてＢＡＳＩＣ言語の記法に準ずる言語を仮定する。
【００１９】
関係テンプレートの記述言語では、「部品変数」と「属性プリミティブ変数」という２種類の特殊な変数の使用を許している。部品変数は、‘＄’に続く１以上の数字列によって表現される。図２において、‘［’と‘］’に挟まれた部分は、その部分に含まれている文字の中からの選択を示し、‘＋’は１回以上の繰り返しを示す。すなわち、「［０−９］＋」の表現により、０から９までの数字の選択を１回以上繰り返すことを示している。
【００２０】
属性プリミティブ変数は、‘＜’と‘＞’に挟まれた部品変数と属性名の組により表現される。部品変数と属性名は、‘，’で区切られる。属性名は、２つの‘”’により挟まれた１以上の文字列によって表現される。使用できる文字は、英大文字、英小文字、数字、‘＿’である。図２における‘［’，‘］’および‘＋’を用いた表現方法は、部品変数の場合と同様である。
【００２１】
関係テンプレートの記述言語では、本体部に特殊なコマンド「ｅｖａｌ＿ｄｅｆ」を用いることができる。関係テンプレート評価部１６において関係テンプレートを解釈する際に、このコマンドを読み込むたびに文書部品同定部１８を呼び出し、部品集合定義部の記述に基づいて部品変数に値をバインドさせ、属性プリミティブ変数に値が代入されるごとに（部品識別子，属性名，値）の３つ組を生成させる。このとき、コマンド「ｅｖａｌ＿ｄｅｆ」の後に引数として部品変数または属性名の列が記述されている場合は、それらの引数のみを対象として上述の処理を行なう。
【００２２】
関係テンプレートの本体部には、このコマンド「ｅｖａｌ＿ｄｅｆ」をはじめとして、部品変数、属性プリミティブ変数を用いて、生成したい関係がプログラムとして記述される。この本体部には、上述のコマンド「ｅｖａｌ＿ｄｅｆ」による部品集合定義部の記述に基づいた文書部品の集合の特定指示、属性プリミティブ変数による文書保持部１３中の文書部品に関する属性値の参照指示、および、文書保持部１３中の文書部品属性への値の代入指示等を行なうことができる。
【００２３】
このように、関係テンプレートでは、部品変数や属性プリミティブ変数等の部品を代表する変数および任意の属性を指定することができるので、文書作成者３が望む属性の関係を指定することができる。また、これらの変数およびコマンド「ｅｖａｌ＿ｄｅｆ」等により、本体部に単一のプログラムが記述されているのみであっても、関係する複数の文書部品の属性に対して記述されたプログラムの内容を一括して適用することが可能である。このような関係テンプレートを用いることによって、文書部品属性間に成り立つ多様な関係の統一的な取り扱いおよび管理を可能にしている。
【００２４】
以下、本発明の文書編集装置の第１の実施例における動作の一例について説明する。文書作成者３は、文書編集装置１に対し、文書の編集処理および関係テンプレートの記述処理、関係テンプレートに対する評価指示等の操作を任意のタイミングで繰り返し行なう。これらの操作によって、文書を作成していくことができる。
【００２５】
まず、文書を編集するときには、文書編集部１４に対して編集指示を出すことによって文書保持部１３中の文書データを更新する。また、文書中の文書部品属性の間の関係を保持させるときには、関係テンプレート定義部１１を介して関係テンプレートを記述し、関係テンプレート保持部１２に保持させる。
【００２６】
一方、関係テンプレート保持部１２中の関係テンプレートに対する評価指示は、関係テンプレート評価部１６に伝えられる。関係テンプレートに対する評価指示が出されると、関係テンプレート評価部１６は、その関係テンプレートを対象として、文書保持部１３に保持された文書データ中の文書部品を特定し、文書部品の属性値を取得する。文書部品の同定には、文書部品同定部１８を用いる。また、文書部品の属性値の取得には、文書部品属性参照部１７を用いる。そして、文書部品属性設定部１５は、特定された文書部品に対する特定された属性の設定を、文書保持部１３中の文書データに対して行なう。
【００２７】
このように、文書編集装置の第１の実施例では、文書作成者３によって定義された文書部品属性間の関係を、文書編集を通じて管理することができる。このとき、文書作成者３は、定義する関係の要素として、文書編集部１４中の文書部品属性設定部１５で操作され得る任意の文書部品属性を指定できるだけでなく、それら要素間に定義される関係をも関係テンプレート評価部１６が解釈可能な範囲で自由に記述することができる。
【００２８】
以下、上述の第１の実施例における動作の一例を、具体例を用いながら説明する。まず、関係テンプレートの作成過程について説明する。図３は、関係テンプレートの作成手順の一例を示すフローチャートである。ここでは、比較的単純な関係テンプレートを例に取り、文書作成者がＧＵＩ（グラフィカルユーザインタフェース）を用いて関係テンプレートを作成する場合を例に説明する。なお、これらの動作は、文書作成者による文書編集と並行して、任意のタイミングで実行される。
【００２９】
まず、図３のＳ２１において、文書作成者３がメニュー等から「関係テンプレート作成」を選択する。すると、関係テンプレート定義部１１は、「関係テンプレートシート」を表示する。図４は、関係テンプレートシートの一例の説明図である。図４に示した「関係テンプレートシート」は、「基点属性プリミティブフィールド」と「関連属性プリミティブフィールド」から構成されている。「基点属性プリミティブフィールド」には、関係を定義する際に基となる文書部品の属性を指定するフィールドである。また、「関連属性プリミティブフィールド」には、「基点属性プリミティブフィールド」で指定した文書部品の属性と関係づけたい文書部品の属性を指定するフィールドである。
【００３０】
Ｓ２２では、「基点属性プリミティブフィールド」の設定を行なう。文書作成者３に対して「プロパティシート」と呼ばれる属性操作環境が提供されている場合には、文書作成者３は、属性関係の基点となる文書部品のプロパティシートを開き、さらに、関係を定義したい属性に対応する属性アイコンをプロパティシート中で選択し、「基点属性プリミティブフィールド」にドラッグアンドドロップする。すると、関係テンプレート定義部１１は、選択された文書部品の識別子と属性からなる属性プリミティブを生成し、「基点属性プリミティブフィールド」に割り当てる。「基点属性プリミティブフィールド」には１つの属性プリミティブしか割り当てることができない。
【００３１】
図５は、基点属性プリミティブフィールドへの設定の一例の説明図である。図５に示した例では、部品識別子［３００１］を持つ文書部品の「文字フォントサイズ」属性を「基点属性プリミティブフィールド」に指定した様子を示している。このとき、部品識別子［３００１］を持つ文書部品は、最下層の文書部品であってもよいし、下位に複数の文書部品を有する文書部品であってもよい。
【００３２】
さらに、Ｓ２３では、基点属性プリミティブと関係付けたい任意個数の文書部品を選択し、「関係属性プリミティブフィールド」にその属性を設定する。関係テンプレート定義部１１は、選択された文書部品と基点属性プリミティブに指定された属性から属性プリミティブを必要な個数だけ生成し、「関係属性プリミティブフィールド」に割り当て、表示する。
【００３３】
図６は、関係属性プリミティブフィールドへの設定の一例の説明図である。図６に示す例では、文書の編集画面上で、基点属性プリミティブと関係づけたい文書部品を選択し、「関係属性プリミティブフィールド」にドラッグアンドドロップする。図６では、部品識別子［３０００］を持つ見出しの段落を含む文書部品を選択し、「関係属性プリミティブフィールド」にドラッグアンドドロップした後、部品識別子［３００２］を持つ脚注である段落の集合を含む文書部品を選択し、「関係属性プリミティブフィールド」にドラッグアンドドロップしようとしている。既に指定されている部品識別子［３０００］を持つ文書部品については、関係テンプレート定義部１１によって、「基点属性プリミティブフィールド」で設定された「文字フォントサイズ」属性をもとに、この部品識別子［３０００］についても「文字フォントサイズ」属性を設定するための属性プリミティブが生成され、表示されている。部品識別子［３００２］を持つ文書部品についても、ドラッグアンドドロップ後、属性プリミティブが生成され、表示される。
【００３４】
そして、Ｓ２４では、文書作成者３は「関係属性プリミティブフィールド」中の各属性プリミティブに対して、属性値の絶対値、あるいは、基点属性プリミティブの属性値からの変化を指定する。基点属性プリミティブの属性値からの変化を指定する場合、その変化の指定方法は属性によって異なる。例えば、属性が「文字フォントサイズ」のように数値を属性値を取る場合には、“＋１”，“＋２”，“−１”，“−２”のような指定が可能である。属性が「ボールド」のように２値の属性値を取る場合には、「継承」あるいは「反転」のいずれかを指定することができる。
【００３５】
図７は、関係属性プリミティブフィールド中の属性に対する属性値決定方法の一例の説明図である。図７では、基点属性プリミティブの属性値からの変化を指定する場合の一例を示している。図７に示した例では、部品識別子［３０００］を持つ文書部品に、部品識別子［３００１］を持つ文書部品より１ポイント大きい「文字フォントサイズ」を指定し、部品識別子［３００２］を持つ文書部品に１ポイント小さい「文字フォントサイズ」を指定している。
【００３６】
この具体例では、文書作成者による関係テンプレートの作成の際に、上述のような関係テンプレートシートを用いたが、これ以外の任意の方法を利用することが可能である。例えば、上述の具体例では、異なる文書部品の同一属性の間の関係のみを記述したが、関係属性プリミティブフィールド中の属性プリミティブの全部または一部の記述に対してコピー、ペースト、削除等の操作を可能としたり、属性プリミティブの属性欄の記述の変更を可能とすることで、同一部品の属性間の関係や、異なる部品の異なる属性の間の関係をも記述できるようにすることが考えられる。
【００３７】
Ｓ２５では、文書作成者３による「登録」の指示を受けて、関係テンプレート定義部が関係テンプレートを作成し、関係テンプレート保持部１２に登録する。図８は、作成された関係テンプレートの一例の説明図である。基点属性プリミティブフィールドおよび関連属性プリミティブフィールドで指定された文書部品は、部品集合定義部で定義される。このとき、各文書部品は、それぞれの部品変数として定義されている。また、属性「文字フォントサイズ」は、属性名「”ｆｏｎｔ＿ｓｉｚｅ”」で表わされ、それぞれの部品変数とともに定義される属性プリミティブ変数を用いて本体部が定義されている。ここでは、図７に示すように、部品識別子［３０００］を持つ文書部品（部品変数「＄２」）の属性「文字フォントサイズ」に、部品識別子［３００１］を持つ文書部品（部品変数「＄１」）より１ポイント大きい「文字フォントサイズ」を指定する手続きとして、「＜＄２，”ｆｏｎｔ＿ｓｉｚｅ”＞＝＜＄１，”ｆｏｎｔ＿ｓｉｚｅ”＞＋１；」が生成されている。同様に、部品識別子［３００２］を持つ文書部品（部品変数「＄３」）に、部品識別子［３００１］を持つ文書部品（部品変数「＄１」）より１ポイント小さい「文字フォントサイズ」を指定する手続きとして、「＜＄３，”ｆｏｎｔ＿ｓｉｚｅ”＞＝＜＄１，”ｆｏｎｔ＿ｓｉｚｅ”＞−１；」が生成されている。
【００３８】
このようにして、文書作成者３は、属性テンプレート定義部１１により属性テンプレートを定義し、属性テンプレート保持部１２に格納することができる。上述の例では、ＧＵＩを用いた例を示したが、もちろん、文書の編集処理と同様にして、例えば、図８に示すような属性テンプレートを定義し、属性テンプレート保持部１２に格納するように構成してもよい。また、上述のようにして属性テンプレートを生成した後、適宜編集処理が可能なように構成してもよい。
【００３９】
次に、上述のようにして定義され、格納されている属性テンプレートを評価し、文書部品の属性を設定する動作について説明する。なお、この動作は、文書作成者による文書編集と並行して、任意のタイミングで実行される。
【００４０】
図９は、関係テンプレート評価部１６および文書部品属性設定部１５による関係テンプレート評価および属性設定の手順の一例を示すフローチャートである。Ｓ３１において、文書作成者３により、例えばメニュー等から「関係維持」が選択されると、文書編集部１４は関係テンプレート評価部１６に対して関係テンプレートの評価を指示する。Ｓ３２では、関係テンプレート評価部１６が、関係テンプレート保持部１２から関係テンプレートを順次取得し、評価する。評価の際には、適宜、文書部品属性参照部１７および文書部品同定部１８が用いられる。Ｓ３３では、関係テンプレート評価部１６が、関係テンプレートの評価に基づいて部品属性の設定を文書編集部１４中の文書部品属性設定部１５に指示する。最後にＳ３４において、文書部品属性設定部１５が、関係テンプレート評価部１６からの指示に基づいて適切な文書部品の属性に属性値を設定する。
【００４１】
図１０は、関係テンプレート評価部における関係テンプレートの評価手順の一例を示すフローチャートである。この関係テンプレート評価部１６における関係テンプレートの評価は、図９におけるＳ３２において行なわれる。まず、Ｓ４１において、処理対象となる行を、関係テンプレートの部品集合定義部の直後の行に設定する。次に、Ｓ４２では、現在の処理対象の行の内容がコマンド「ＥＮＤ」であるか否かを判断し、もしコマンド「ＥＮＤ」であれば評価を終了し、そうでなければ処理をＳ４３に進める。
【００４２】
Ｓ４３では、評価すべき行がコマンド「ｅｖａｌ＿ｄｅｆ」か、「属性プリミティブ変数＝評価式」の形か、もしくはその他の式であるかを判断し、コマンド「ｅｖａｌ＿ｄｅｆ」であればＳ４４に、「属性プリミティブ変数＝評価式」であればＳ４６に、その他の式であればＳ４９に処理を進める。
【００４３】
Ｓ４４では、文書部品同定部１８を呼び出し、部品集合定義部の定義を評価する。このとき、評価対象の行中でコマンド「ｅｖａｌ＿ｄｅｆ」の後に部品変数が指定されている場合には、部品集合定義部中の指定された部品変数の定義記述の評価から始める。さらに、Ｓ４５では、評価すべき部品変数の定義記述が、部品集合定義部中で定義記述が与えられる部品変数に依存している場合には、依存関係にある全ての部品変数にわたって定義記述の評価が行なわれる。評価か完了したら、処理対象の行を次の行に進めて処理をＳ４２に戻す。
【００４４】
Ｓ４６では、まず一般のプログラム言語の場合と同様に右辺を評価して、左辺の属性プリミティブ変数に評価値をバインドする。そして、Ｓ４７において、左辺の属性プリミティブ変数中の部品変数に対し、文書部品同定部１８によって得られた部品識別子を順次割り当て、部品識別子と属性名のペアをその部品変数に割り当てられた部品の数だけ生成する。Ｓ４８では、生成した各ペアに対して、属性プリミティブ変数にバインドされた評価値を割り当てて、３つ組（部品識別子，属性名，属性値）を生成する。そして、処理対象の行を次の行に進め、処理をＳ４２に戻す。
【００４５】
Ｓ４９では、一般のプログラム言語の場合と同様に式を評価し、処理をＳ４２に戻す。Ｓ４９で評価される式は、一般のプログラミング言語に見い出されるもので、例えば、ＩＦ文、ＧＯＴＯ文、ＧＯＳＵＢ文、ＷＨＩＬＥ文などを仮定している。
【００４６】
関係テンプレートの解釈後、保持されている（部品識別子，属性名，属性値）の３つ組が文書部品属性設定部１５に引き渡される。文書部品属性設定部１５では、引き渡された３つ組ごとに文書部品と属性名を同定し、その文書部品の属性として属性値を割り当てる。
【００４７】
図８に示した関係テンプレートでは、部品集合定義部の直後のコマンド「ｅｖａｌ＿ｄｅｆ」によって部品集合定義部が評価される。そして、次の行において、部品識別子［３００１］の属性「文字フォントサイズ」の値に１が加えられ、属性プリミティブ変数「＜＄２，”ｆｏｎｔ＿ｓｉｚｅ”＞」とバインドされる。例えば、部品識別子［３００１］の属性「文字フォントサイズ」の値が１０ポイントであれば、属性値「１１」が得られる。部品変数＄２は部品識別子［３０００］であるから、３つ組（［３０００］，文字フォントサイズ，１１ポイント）が得られ、文書部品属性設定部１５に引き渡される。文書部品属性設定部１５では、部品識別子［３０００］の属性「文字フォントサイズ」を１１ポイントに設定する。同様に、部品識別子［３００２］の属性「文字フォントサイズ」は、９ポイントに設定される。
【００４８】
図８に示した関係テンプレートの例において、部品識別子［３０００］を持つ部品は見出しであり、部品識別子［３００１］を持つ部品は本文であり、部品識別子［３００２］を持つ部品は脚注であった。文書作成者３が関係テンプレート定義部１１を用いて図８に示すような関係テンプレートを作成し、関係テンプレート保持部１２に登録しておくことにより、文書作成者３が本文の文字フォントサイズを変更しても、「関係維持」を指示するだけで、自動的に見出しと脚注の文字フォントサイズが本文の文字フォントサイズに応じて変更される。すなわち、文書作成者３は、ある部品の属性の値を変更するたびに関連する全ての属性を変更しなければならなかったという、従来の煩雑な作業から開放される。
【００４９】
次に、多少複雑な関係テンプレートを具体例として用い、関係テンプレート評価部１６の動作をより詳しく説明する。図１１は、この例における作成対象の文書に設定されている文書構造の説明図、図１２は、関係テンプレートの別の例の説明図である。この具体例では、図１１に示すような文書構造を仮定する。以下の説明において、‘［’と‘］’で囲まれた数字列は部品識別子を示している。
【００５０】
図１１に示す文書構造では、文書根［３］の直下には４つの文書部品［３０］，［３１］，［３２］，［３３］があり、そのうち［３０］と［３２］の属性”ｔｙｐｅ”には値ＴＡＢＬＥが与えられている。この文書部品には、ハッチングを施して示している。さらに、表部品［３０］の直下には４つの行を示す部品［３００］，［３０１］，［３０２］，［３０３］があり、レイアウトにおいて上からこの順で並んでいる行を表現しているものとする。同様に、表部品［３２］の直下には５つの行を示す部品［３２０］，［３２１］，［３２２］，［３２３］，［３２４］がある。
【００５１】
図１２に示す関係テンプレートは、文書中の各表部品について奇数行の背景色を青色に、偶数行の背景色を黄色に設定するべきことを記述している。この関係テンプレートを関係テンプレート評価部が管理することにより、例えば、表の任意の箇所への行の挿入等の編集作業が行なわれた場合でも、文書作成者が「関係維持」を指示するだけで、本発明の文書編集装置によって関係テンプレートに記述された関係が成立するように部品属性の再設定が行なわれる。
【００５２】
図１２に示す関係テンプレートの概要を説明する。図１２において、ハッチングを施した部分が部品集合定義部である。上述のように、この部分は「ＢＥＧＩＮＤＥＦ」および「ＥＮＤＤＥＦ」によって挟まれている。部品変数＄１は、「ｓｅｌｅｃｔ（”ｔｙｐｅ”＝ＴＡＢＬＥ），ｓｕｂ＊（［３］）」と定義されている。文書根［３］の下に展開されているすべての文書部品のうち、属性”ｔｙｐｅ”が「ＴＡＢＬＥ」であるものを選択することを示している。図１１に示す文書構造では、部品［３０］と部品［３２］が選択される。部品変数＄２は、「ｔｏｐ＿ｓｕｂ（＄１０）＋ｎｅｘｔ（＄３）」と定義されており、部品変数＄１０の直下に展開されている部品のうち、先頭の部品と部品変数＄３の次の部品を示している。部品変数＄３は、「ｎｅｘｔ（＄２）」と定義されており、部品変数＄２の次の部品を示している。この部品変数＄２と＄３の定義によって、部品変数＄２と＄３に表中の行が交互に与えられる。
【００５３】
本体部では、まず、コマンド「ｅｖａｌ＿ｄｅｆ＄１」は部品変数＄１の評価を示している。次の「ＦＯＲ＿ＥＡＣＨ」文は、部品変数＄１の各要素を順次部品変数＄１０に代入し、それぞれの要素について「ＤＯ｛」から「｝」までの命令を実行する。次のコマンド「ｅｖａｌ＿ｄｅｆ＄２」では、部品変数＄２を評価する。このとき、部品変数＄３の定義にも依存しているので、部品変数＄３も評価される。次の「＜＄２，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｒ”＞＝ＢＬＵＥ」は、部品変数＄２の属性”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｒ”の属性値をＢＬＵＥに設定する命令である。同様に、「＜＄３，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｒ”＞＝ＹＥＬＬＯＷ」は、部品変数＄２の属性”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｒ”の属性値をＹＥＬＬＯＷに設定する命令である。
【００５４】
図１３は、関係テンプレート評価部１６において行なわれる具体的な関係テンプレートの評価手順を示すフローチャートである。図１３に示したフローチャートは、図１０に示した一般的な手順に基づき、図１１に示した関係テンプレートの具体例を評価する際の具体的な手順を示している。
【００５５】
Ｓ５１では、本体部の１行目におけるコマンド「ｅｖａｌ＿ｄｅｆ＄１」を評価する。部品集合定義部において部品変数＄１は他の部品定義に依存していないので、部品集合定義部中の部品変数＄１の定義記述のみを評価する。ここでは、属性”ｔｙｐｅ”が「ＴＡＢＬＥ」である文書部品が選択される。評価の結果、２つの部品識別子［３０］，［３２］を得る。
【００５６】
Ｓ５２では、本体部の２行目の「ＦＯＲ＿ＥＡＣＨ」文によって、部品変数＄１０に部品変数＄１の１つの要素である部品識別子［３０］が代入される。続いて、Ｓ５３では、本体部の３行目においてコマンド「ｅｖａｌ＿ｄｅｆ＄２」を評価する。部品変数＄２は、部品変数＄３と依存関係があるので、それぞれに対する定義記述が評価される。得られる評価値は、部品変数＄２＝｛［３００］，［３０２］｝、部品変数＄３＝｛［３０１］，［３０３］｝となる。部品変数＄２は部品識別子［３０］を持つ表の第１行、第３行に対応する文書部品の識別子であり、部品変数＄３は部品識別子［３０］を持つ表の第２行、第４行に対応する文書部品の識別子を与える。
【００５７】
Ｓ５４では、本体部の４行目において属性プリミティブ変数＜＄２，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”＞に色属性値ＢＬＵＥがバインドされる。Ｓ５５では、属性プリミティブ変数＜＄２，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”＞から２組の３つ組（［３００］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＢＬＵＥ）および（［３０２］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＢＬＵＥ）を生成して追加、保持する。Ｓ５６では、同様にして本体部の５行目が評価され、２組の３つ組（［３０１］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＹＥＬＬＯＷ），（［３０３］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＹＥＬＬＯＷ）が生成され、保持される。
【００５８】
Ｓ５７では、ＦＯＲ＿ＥＡＣＨ文の解釈にしたがい、部品変数＄１の次の要素である部品識別子［３１］が部品変数＄１０に代入される。続いて、Ｓ５８では、部品変数＄１０＝［３０］の場合と同様に、Ｓ５３からＳ５６と同様の処理が行なわれて、本体部の４行目から３組の３つ組（［３１０］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＢＬＵＥ），（［３１２］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＢＬＵＥ），（［３１４］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＢＬＵＥ）と、本体部の５行目から２つの３つ組（［３１１］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＹＥＬＬＯＷ），（［３１３］，”ｂａｃｋ＿ｇｒｏｕｎｄ＿ｃｏｌｏｕｒ”，ＹＥＬＬＯＷ）を生成し、追加、保持する。
【００５９】
最後に、Ｓ５９において、関係テンプレート評価部１６は、保持された３つ組を文書部品属性設定部１５に引き渡す。文書部品属性設定部１５は、指示された文書部品の指示された属性に対し、指示された属性値を設定する。
【００６０】
図１４は、本発明の文書編集装置の第２の実施例を示す構成図である。図中、図１と同様の部分には同じ符号を付して説明を省略する。１９は関係テンプレート評価指示部である。関係テンプレート評価指示部１９は、文書作成者３が指示した条件が満たされたとき、関係テンプレート評価部１６に対して関係テンプレートの評価を指示する。
【００６１】
文書作成者３からの条件の指示は、対応関係表の作成によって行なわれる。すなわち、この実施例において、文書作成者３は、関係テンプレート作成作業以外に対応関係表の作成作業を行なう。図１５は、対応関係表の一例の説明図である。図１５に示した対応関係表の一例では、対応関係表は「文書の状態または状態遷移に関する論理式」と「論理式が真である場合に評価すべき関係テンプレート」の組からなる対応関係を各行に記述したものとして表現される。
【００６２】
図１５（Ａ）に示した対応関係表は、「文書部品識別子が［３００１］の文書部品のフォントサイズ属性（属性”ｆｏｎｔ＿ｓｉｚｅ”）の値が変化したら、識別子『１０１』が付与されている関係テンプレートを評価せよ」という指示を示している。また、図１５（Ｂ）に示した対応関係表のは、「識別子『１０１』が付与されている関係テンプレート中の部品変数＄１で表現される部品のフォントサイズ属性（属性”ｆｏｎｔ＿ｓｉｚｅ”）の値が『１４』になったら、識別子『１０１』が付与されている関係テンプレートを評価せよ」という指示を示している。
【００６３】
上述のように、対応関係表には関係テンプレートを評価すべき文書の状態または状態遷移を記述することができる。対応関係表における文書の状態または状態遷移に関する論理式の記述では、以下の方法を採ることができる。
○  属性プリミティブを記述することにより、その属性プリミティブの属性値の変化を「文書の状態遷移」として指定する。
○  属性プリミティブの属性値に関する条件を記述することにより、その条件を満足する状態を「文書の状態」として指定する。
○  属性プリミティブの指定方法として、「部品識別子および属性名の組」だけでなく、「部品変数、関係テンプレート識別子および属性名の組」を用いる。なお、論理式として単独の文書状態または文書状態遷移だけでなく、「複数の文書状態または文書状態遷移と論理演算子との組み合わせ」を記述することも可能である。また、複数の条件と関係テンプレートの組を記述することが可能である。さらに、本実施例では関係テンプレートと対応関係表が別個に用意されるものとしているが、関係テンプレートと対応関係表が同一の情報として用意されていてもかまわない。
【００６４】
以下、本発明の第２の実施例における動作の一例を説明する。ここでは、文書作成者３による関係テンプレートの作成作業は第１の実施例と同様に行なうことができるので、説明を省略する。簡単のため、以下の説明で用いられる関係テンプレートの記述は図８に示したものとする。ただし、この第２の実施例では、作成された関係テンプレートには識別子が付与される。ここでは、作成された関係テンプレートに識別子「１０１」が付与され、関係テンプレート保持部１２に格納されるものとする。もちろん、図１２に示した関係テンプレートが記述される場合でも、同様の処理の流れによって所望の効果をあげることができる。この場合にも関係テンプレートには識別子が付与される。一方、文書作成者３は、上述の図１５に示すような対応関係表を作成する。
【００６５】
関係テンプレートおよび対応関係表が作成された状態で、対応関係表に記述された条件にしたがって関係テンプレート評価指示部１９が起動する。図１６は、本発明の第２の実施例における関係テンプレート評価指示部１９の動作の一例を示すフローチャートである。まず、Ｓ６１において、文書作成者３などによる文書編集を監視し、対応関係表の各行で表現されている論理式が満足されているか否かを調べる。その結果、論理式を満足する状態または状態遷移が発生していると判断された場合は処理をＳ６２に移す。一方、論理式を満足する状態または状態遷移が発生していないと判断された場合は、処理をＳ６３に移す。
【００６６】
Ｓ６２では、発生した状態または状態状態に対応する関係テンプレート識別子を対応関係表から特定し、関係テンプレート評価部１６に渡して評価を促し、処理をＳ６３に進める。Ｓ６３では、文書作成者３からの処理終了の指示が発生しているか否かを判断し、処理終了の指示が発生していると判断した場合には動作を終了し、そうでない場合には処理をＳ６１に戻して監視を続ける。
【００６７】
Ｓ６１における監視の動作について具体的に説明する。例えば、対応関係表として図１５（Ａ）に示したものが記述されている場合には、Ｓ６１が実行されるごとに文書部品属性参照部１７などを利用して部品識別子［３００１］を持つ文書部品のフォントサイズ属性値が参照され、内部的に保持される。そして、再びＳ６１が実行されるときに参照される属性値と保持されている属性値との比較が行なわれ、値が異なる場合には処理がＳ６２に進み、対応する識別子「１０１」を持つ関係テンプレートの評価が指示される。
【００６８】
また、対応関係表として図１５（Ｂ）に示したものが記述されている場合には、Ｓ６１が実行されるごとに、論理式に記述されている識別子「１０１」の関係テンプレートに対する部品変数の評価指示が「＄１」の記述とともに関係テンプレート評価部１６に対して出される。これに対応して関係テンプレート評価部１６は、例えば、図１０におけるＳ４４およびＳ４５と同様の定義記述の評価を、部品変数＄１を対象に行ない、得られる部品識別子の集合を関係テンプレート評価指示部１９に返す。関係テンプレート評価指示部１９は、これを受け取ると、得られた部品識別子の集合（ここでは［３００１］の１個の要素からなる集合）を論理式中の記述「＄１：１０１」と置き換え、図１５（Ｂ）の対応関係表に対する動作を行なう。このとき、部品識別子の集合が複数の要素から構成される場合には、それぞれの部品識別子に対応する論理式を生成し、それらの和集合からなる論理式を評価対象とする。また、部品識別子集合が空集合の場合はその行に対応する処理を終了する。図１５（Ｂ）に示した例では、部品識別子［３００１］を持つ文書部品のフォントサイズ属性値が「１４」であるか否かを監視することになる。
【００６９】
このように、関係テンプレート展開指示部１９を有することにより、文書編集装置１は、文書作成者３があらかじめ行なう指示に基づいて、関係テンプレートの再展開を自動的に実行することができる。これにより、文書作成者の負担はいっそう軽減される。上述の例では、文書作成者３が行なう編集処理を常に監視する場合を示したが、例えば、一定時間ごとに、あるいはある特定の処理操作ごとに、評価指示を繰り返し行なうように構成することも可能である。
【００７０】
【発明の効果】
以上の説明から明らかなように、本発明によれば、文書作成時に文書作成者自身によって生成される文書部品属性間の多様な関係を記述することができ、文書編集による文書構造の変化および文書部品属性値の変動を通じて、記述された文書部品属性間の関係を管理することができるという効果がある。
【図面の簡単な説明】
【図１】  本発明の文書編集装置の第１の実施例を示す構成図である。
【図２】  関係テンプレートの記述言語の文法の一例を示す説明図である。
【図３】  関係テンプレートの作成手順の一例を示すフローチャートである。
【図４】  関係テンプレートシートの一例の説明図である。
【図５】  基点属性プリミティブフィールドへの設定の一例の説明図である。
【図６】  関係属性プリミティブフィールドへの設定の一例の説明図である。
【図７】  関係属性プリミティブフィールド中の属性に対する属性値決定方法の一例の説明図である。
【図８】  作成された関係テンプレートの一例の説明図である。
【図９】  関係テンプレート評価部１６および文書部品属性設定部１５による関係テンプレート評価および属性設定の手順の一例を示すフローチャートである。
【図１０】  関係テンプレート評価部における関係テンプレートの評価手順の一例を示すフローチャートである。
【図１１】  具体例における作成対象の文書に設定されている文書構造の説明図である。
【図１２】  関係テンプレートの別の例の説明図である。
【図１３】  関係テンプレート評価部１６において行なわれる具体的な関係テンプレートの評価手順を示すフローチャートである。
【図１４】  本発明の文書編集装置の第２の実施例を示す構成図である。
【図１５】  対応関係表の一例の説明図である。
【図１６】  本発明の第２の実施例における関係テンプレート評価指示部１９の動作の一例を示すフローチャートである。
【符号の説明】
１…文書編集装置、２…入出力装置、３…文書作成者、１１…関係テンプレート定義部、１２…関係テンプレート保持部、１３…文書保持部、１４…文書編集部、１５…文書部品属性設定部、１６…関係テンプレート評価部、１７…文書部品属性参照部、１８…文書部品同定部。
【図１】
0003901228.tif 000002
【図２】
0003901228.tif 000003
【図３】
0003901228.tif 000004
【図４】
0003901228.tif 000005
【図５】
0003901228.tif 000006
【図６】
0003901228.tif 000007
【図７】
0003901228.tif 000008
【図８】
0003901228.tif 000009
【図９】
0003901228.tif 000010
【図１０】
0003901228.tif 000011
【図１１】
0003901228.tif 000012
【図１２】
0003901228.tif 000013
【図１３】
0003901228.tif 000014
【図１４】
0003901228.tif 000015
【図１５】
0003901228.tif 000016
【図１６】
0003901228.tif 000017