(57)【特許請求の範囲】
【請求項１】
文書要素及び文書要素内容からなる構造化文書と該構造化文書の更新時間情報とを保持する保持手段と、
前記保持手段に保持されている構造化文書に対して、ユーザ毎に、当該構造化文書を参照した参照時間情報を記憶する記憶手段と、
前記保持手段に保持されている構造化文書を読み出す読出手段と、
前記読出手段により読み出された構造化文書の文書要素及び文書要素内容それぞれについて更新時間情報と前回の参照時間情報を比較し、該比較結果を識別可能に表示するよう制御する制御手段と
を有することを特徴とする文書処理装置。
【請求項２】
前記制御手段は、文書要素の挿入と文書要素内容の変更を別態様で表示するよう制御することを特徴とする請求項１記載の文書処理装置。
【請求項３】
前記制御手段は、文書要素の複製及び移動と、文書要素内容の変更を別態様で表示するよう制御することを特徴とする請求項１記載の文書処理装置。
【請求項４】
文書要素及び文書要素内容からなる構造化文書を読み出して処理する文書処理方法であって、
前記構造化文書に対して、ユーザ毎に、当該構造化文書を参照した参照時間情報を記憶する工程と、
前記構造化文書を読み出す工程と、
前記読み出された構造化文書の文書要素及び文書要素内容それぞれについて更新時間情報と前回の参照時間情報を比較し、該比較結果を識別可能に表示する工程と
を有することを特徴とする文書処理方法。
【請求項５】
前記表示する工程は、文書要素の挿入と文書要素内容の変更を別態様で表示するよう制御することを特徴とする請求項４記載の文書処理方法。
【請求項６】
前記表示する工程は、文書要素の複製及び移動と、文書要素内容の変更を別態様で表示するよう制御することを特徴とする請求項４記載の文書処理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、電子的に文書を取り扱う文書処理方法及びその方法に関するものである。
【０００２】
【従来の技術】
文書情報とは、文書として表現することが可能なデータ群で、例えば図２に示すようなSGML(ISO8879)で規定されるような構造化文書データとして記述することができる。この構造化文書データを、構造を単位として、例えば従来からあるファイルのディレクトリ構造を利用するなどして、格納させることができる。図３はその文書構造の一例を示す。こうして格納された構造化データ群は、一つの文書として人間に認識可能な情報であり、この文書の内容を認識するに、「表示」、「印刷」、あるいは「聞く」と言ったような手段が適用される。また例えば従来からあるリンクなどの技術を利用して、他の文書情報からデータを共有させることもできる。いま例えば図4のようにしてひとまとまりとなった構造化データ群が文書の様式を提供し、一つの文書情報を形成しているものとする。この文書情報は、従来のハイパーテキストシステムなどを用いることにより、例えば図５に示すように文書として表示させることができる。複数の文書を扱うためには、これらを編集するために文書エディタのようなものを用いていた。従来、過去に参照した文書が変更されているかを見るためには、前回参照した日時を覚えておくなどしておき、現在の文書の更新日時を見て、前回参照時よりも新しいかどうかを調べたりする必要があった。この際、前回参照日時の記憶、あるいは記録がなければ、人間がひとつひとつの文書を読んで、変更されているかを調べる必要があった。前回参照された文書、あるいは前のバージョンの文書全体を、常に保存しておき、現在の文書と比較する方法もあったが、記憶容量の問題から見ても効率が悪い。これに対して、UNIXシステムにおけるSCCSやRCSのように、利用中の文書が編集されることによって変化した情報のみを保存しておき、逆に現在の文書との比較によって前の情報を知ることができるシステムがある。このシステムでは、変化した情報のみを保存しておくので、上記記憶容量の問題を解決できる。
【０００３】
しかし、これらのシステムでは、処理の対象を文書全体、比較の単位を行としており、構造化文書における構造単位での処理は行なえなかった。構造化文書を対象としたシステムでは、処理の対象を文書全体とするものの、比較の単位を構造毎にし、変化した構造の情報のみを保存するものがあった。このシステムでは、図６のように、近傍に変更を表わす黒線を表示するというような、表示属性を変えることによって、前回参照した文書、あるいは前のバージョンの文書から変化した情報を構造単位で表現することができた。図中表示例7が、前回の参照時、あるいは前のバージョンの文書から情報が変化した部分である。
【０００４】
【発明が解決しようとしている課題】
このような文書情報が、複数の人によって情報が利用される場合、特に頻繁に内容の更新が行なわれるような文書情報では、同一文書データでも時間と共に、複数、あるいは特定の人によってメンテナンスされ、変更されるていくものである。しかしながら文書を参照するユーザとしては、常に最新の文書情報を見たいと言う要求がある。このため、頻繁に内容更新される文書情報は複数のユーザによって共有されて参照される。このように、ある文書情報が複数のユーザで共有されていて、特に頻繁に内容の更新が行なわれるような場合では、文書情報を参照しているユーザにとって、知らない間に情報が更新されているという問題が起こる。そのため、各ユーザは、前回参照して分かっている情報と、最新の、まだ知らない情報を比較して、変化を見たいと言う要求がある。つまり、文書情報は複数の人によって共有され、利用されているが、参照する際にユーザから要求される見たい情報というものは、各ユーザ毎に相違してしまうという問題が起こる。このため、このような形態の構造化文書では、各ユーザ毎に最新の情報を得ようとしても、そのユーザにとって、文書内のどの情報が既知で、どの情報が未知なのかが分かりにくくなるという問題があった。
【０００５】
【課題を解決するための手段】
上記課題を解決するために、本発明は、文書要素及び文書要素内容からなる構造化文書と該構造化文書の更新時間情報とを保持する保持手段と、前記保持手段に保持されている構造化文書に対して、ユーザ毎に、当該構造化文書を参照した参照時間情報を記憶する記憶手段と、前記保持手段に保持されている構造化文書を読み出す読出手段と、前記読出手段により読み出された構造化文書の文書要素及び文書要素内容それぞれについて更新時間情報と前回の参照時間情報を比較し、前記比較結果を識別可能に表示するよう制御する制御手段とを有することを特徴とする文書処理装置を提供する。
【０００６】
上記課題を解決するために、本発明は、文書要素及び文書要素内容からなる構造化文書を読み出して処理する文書処理方法であって、前記構造化文書に対して、ユーザ毎に、当該構造化文書を参照した参照時間情報を記憶する工程と、前記構造化文書を読み出す工程と、前記読み出された構造化文書の文書要素及び文書要素内容それぞれについて更新時間情報と前回の参照時間情報を比較し、前記比較結果を識別可能に表示する工程とを有することを特徴とする文書処理方法を提供する。
【０００７】
【実施例】
（第１の実施例）
以下、添付図面を参照して本発明の好適な実施例を詳細に説明する。
【０００８】
図１は本実施例の文書処理装置の概略構成を示すブロック図である。
【０００９】
図１において1はキーボード（ＫＢ）で、オペレータにより操作されて文書データや各種コマンドなどを入力することができる。2は例えばマウス等のポインティングデバイスで、ＣＲＴ等の表示部４の画面上でカーソル等を移動して、所望のコマンドやデータなどを入力するのに利用される。３は装置全体を制御するＣＰＵで、４は液晶やＣＲＴ等の表示部、５は本実施例におけるプログラムやデータを保持し、ここに保持されている制御プログラムに基づいてＣＰＵ３による制御を実行させるための記憶部である。６は、プログラムや各種データを不揮発に保持するための補助記憶装置である。なお、記憶部５と補助記憶装置６を区別せずに全体としてプログラム・データ保持用記憶装置として利用しても良い。
【００１０】
１０はタイマで、ＣＰＵ３の指示により所定時間を計時するとともに、現在時刻の計時やカレンダ機能等を有している。また本実施例の文書処理装置では、文書データの読出しや保存を行う際には、必ずパスワードやＩＤコード等を入力して使用者（ユーザ）を特定する必要がある。
【００１１】
尚、図１に示すように、記憶部５には、文書表示プログラム５１１、文書変更プログラム５２１が格納されている。また、補助記憶装置6には、現在の文書情報６１と、ユーザ別参照時間情報６２が格納されている。
【００１２】
本実施例において、文書情報は図７に示すような、状態更新時間情報 ST と、形態更新時間情報FTを属性として持つ文書要素からなる構造化文書データとして扱われる。また、ユーザ別参照時間情報は、例えば図８に示すような形で、ユーザ別に、参照時間を保持するものである。
【００１３】
本実施例のシステム全体のフロチャートを図９に示す。あるユーザによってシステムが起動されるとステップＳ９０１のイベントループでイベントの発生を待つ。ここで文書の表示の操作が行なわれた場合はステップＳ９０２に進み、該文書が表示される。編集の操作が行なわれた場合はステップＳ９０３に進み、該文書が変更される。終了の操作が行なわれた場合、システムは終了する。
【００１４】
編集のイベントが起こった場合、図10のフロチャートにしたがって編集が行なわれる。以下にその動作手順を示す。
【００１５】
まず、ステップＳ１００１で、現在の文書情報６１が、補助記憶装置６から抽出される。次にステップＳ１００２に進み、文書の編集処理が行われる。文書編集処理は、図11のフロチャートにしたがって行なわれる。以下にその動作手順を示す。
【００１６】
ステップＳ１１０１で、文書情報は文書要素の内容単位で編集される。ステップＳ１１０２で挿入が行なわれると判断されると、ステップＳ１１０３で挿入された文書要素を子要素とする親要素のFTと、挿入された文書要素自身のSTとFT、挿入された文書要素の中の全てのSTとFTが現在時刻にセットされる。挿入された文書要素が文字の場合は、挿入された文字を子要素とする親要素のFTだけが現在時刻にセットされる。ステップＳ１１０４で削除が行なわれたと判断された場合、ステップＳ１１０５で削除された文書要素を子要素とする親要素のFTが現在時刻にセットされる。また、文字の挿入削除は、文字列単位で扱っても良い。
【００１７】
この文書編集処理におけるステップＳ１１０１、Ｓ1102、Ｓ1104は、逐次的に行なわれる必要はなく、文書の編集にともなって文書要素と文書要素内容の更新属性時間が現在時刻に更新されれば、例えばイベントドリブンのような形で実現されていても良い。これらの処理によって、図12に示したように更新時間属性が変更される。
【００１８】
ここで、ｎｏｐは何の処理もしないことを表し、update は対象となる更新時間属性(ST or FT)を現在時刻に更新することを表す。すべての編集が終了するとステップＳ１１０６で、文書要素編集処理は終了される。編集を終了した文書はステップＳ１００３によって現在の文書情報61に格納される。その際、ユーザ別参照時間情報62に編集を行なったユーザの参照時間情報として現在時刻が格納される。この現在の文書情報61は、ステップＳ1002で、文書要素が編集されるたびに格納されても良い。この場合、ユーザ別参照時間情報62に編集を行なっているユーザの参照時間情報が編集されるたびに格納される。
【００１９】
以下、図9のステップＳ902文書表示の場合を、図13のフロチャートにしたがって示す。
【００２０】
ユーザが、文書を表示させるように操作すると、ステップＳ1301で、現在の文書情報61が補助記憶装置6から抽出される。次にステップＳ１３０２で、文書がＣＲＴ４上に、構造に沿って文書要素毎に表示が行なわれる。
【００２１】
以下、文書要素表示処理を、図14のフロチャートにしたがって示す。
【００２２】
まず、ステップＳ1401において、現在の表示属性を保存する。ステップＳ１４０２で文書要素の状態更新時間属性が、現在表示を行なおうとしているユーザの参照時間情報62の時刻よりも新しい場合は、文書要素は挿入されたと考えられるので、ステップＳ１４０３で文書要素の表示属性が変えられる。ステップＳ１４０４で文書要素の形態更新時間属性が、現在表示を行なおうとしているユーザの参照時間情報62の時刻よりも新しい場合は、文書要素内容が変更されたと考えられるので、ステップＳ１４０５で文書要素内容の表示属性が変えられる。続いてステップＳ1406で、決定された表示属性にしたがって文書要素の先頭が表示される。
【００２３】
続いてステップＳ1407で、決定された表示属性にしたがって文書要素の内容が表示される。ステップＳ１４０８で、表示されている文書要素内容中に文書要素が現れた場合、ステップＳ１４０９でその文書要素に対して文書要素内容表示処理を再帰的に行なう。表示属性の変更としては図１５の様に、色を変えて、例えば変更部分を網掛けし、その色を変えることや、表示属性の標準を薄い色にしておき、変更の度に濃くしていくといったようなことなどが考えられる。また、特に表示属性の変化に段階を付けず、更新部分はすべて反転表示させ、それ以外は標準で表示するなど、二値的な表示でもよい。ステップＳ１４１０で文書要素内容の表示が終了すると、次にステップＳ1411において文書要素の末尾を表示し、ステップＳ1412で、表示属性を元に戻し、文書要素内容表示処理を終了する。
【００２４】
以上のような状態更新時間及び形態更新時間とユーザ別参照時間の組合わせに応じて、例えば図16に示したような表示例が実現できる。
【００２５】
文書を書き足したような場合は、図中1のように、文書要素内容、該内容に含まれる文書要素、該文書要素の内容全てが変更部分として表示される。また、文書要素が Cut & Paste、あるいは Copy & Paste された場合も、Paste された文書要素及び挿入された文書要素形態の更新時間情報が更新されているので、図中1のように表示される。
【００２６】
文書の構造を変えずに、文書要素の内容の文字が変更されたような場合、つまり文書要素の形態が変更されたような場合は、図中２、3、4のように、変更のあった文書要素の内容が、変更部分として表示される。何も変更のなかった場合は、図中５のように、全ての文書は標準で表示される。以上のように表示することで、更新されたことによって読者が確認すべき情報を、明示する機構を実現することができる。
【００２７】
ステップＳ1303で、文書内容が全て表示されたら、現在時刻を表示を行なったユーザの参照時間情報62として補助記憶装置6に格納しイベントループに戻る。これによって文書表示プログラム511が実現される。こうすることによって、常にユーザが文書を参照した時点でユーザ別参照時間に参照時刻が保持され、ユーザ別参照時間情報62と、文書要素の持つ状態更新時間属性及び形態更新時間属性を比較することで、各ユーザが前回参照した以降に更新された情報を、文書の構造を単位として知ることができる。
【００２８】
また、本実施例では、文書要素と文書要素の内容とで、別々の更新時間属性、つまり状態更新時間と形態更新時間を持たせることによって、実際の変更のあった部分を特定し易くしている。つまり、変更のあった文書要素あるいは文書要素内容が網掛けなどによって明示されるため、これらの変更が確認できる。本実施例では、文書要素の属性として、文書要素の状態更新時間属性と文書要素の形態更新時間属性を持たせたが、SGMLのエンティティなどを用いて、文書要素の内容を文書要素と切り放し、文書要素と、文書要素の内容のそれぞれに更新時間属性を持たせてもよい。この場合、例えば切り放した文書要素内容をファイルとして格納し、そのファイルのタイムスタンプを文書要素の形態更新時間属性としてもよい。この場合は、複数の文書要素から、ある文書要素の内容が共有されているような場合にも、変更部分を明示することができる。本実施例はイベントドリブンで実現しているが、各イベントドリブンの処理を、文書情報を共有した独立したプログラムにしても良い。この場合、終了のイベント処理は必要ない。また、本実施例では、表示プログラムと編集プログラムを分けているが、表示と編集が一体となったプログラムを編集プログラムとして利用し、表示プログラムを省いても良い。本実施例によれば、ユーザが参照した以降に文書データが更新され、既知情報と未知情報が混在する文書情報61から各ユーザ別に未知情報を含む文書要素及び文書要素の内容の把握を可能とした。このため、容易に各ユーザが確認する必要のある文書情報を得られる利点がある。
【００２９】
（第２の実施例）
第１実施例では、変更された部分のある要素の内容は未知情報、すなわち更新によって読者が確認すべき情報として扱ったが、もちろんこれに限るわけではない。
【００３０】
本実施例は、親要素の表示属性を継承する事なく、独自に表示属性を決定することによって、変更部分を明示するものである。
【００３１】
以下、添付図面を用いて本発明における実施例を説明する。本実施例のブロック図は図1の文書表示プログラム511が不図示の文書表示プログラム512に変更されたものである。この実施例において、文書は図7と同様に、文書要素の状態更新時間情報 ST と、文書要素の形態更新時間情報 FT を属性として持つような構造化文書データとして扱われる。
【００３２】
本実施例のシステム全体のフロチャートは、図9の文書表示処理ステップＳ902が不図示の別の文書編集処理に変更されたものである。あるユーザによってシステムが起動されるとステップＳ901と同等のイベントループでイベントを待つ。表示の操作が行なわれた場合、該文書が表示される。編集の操作が行なわれた場合、該文書が変更される。終了の操作が行なわれた場合、システムは終了する。編集のイベントが起こった場合は実施例１に同じである。表示のイベントが起こった場合は、図１３のフロチャートと同等の処理が行なわれる。ユーザが、文書を表示させるように操作すると、ステップＳ1301と同等で、現在の文書情報61が補助記憶装置6から抽出される。次にステップＳ1302と同等で、文書がCRT4に、構造に沿って文書要素毎に表示が行なわれる。
【００３３】
以下、文書要素表示処理を、図19のフロチャートにしたがって示す。
【００３４】
まず、ステップＳ１９０１において、現在の表示属性を保存する。ステップＳ１９０２で、文書要素の状態更新時間属性が、現在表示を行なおうとしているユーザの参照時間情報62の時刻よりも新しいと判断された場合は、文書要素は挿入されたと考えられるので、ステップＳ１９０３で文書要素の表示属性が変えられる。逆に、文書要素の状態更新時間属性が、現在表示を行なおうとしているユーザの参照時間情報62の時刻よりも古い場合は、文書要素は変更されていないと考えられるので、ステップＳ１９０４で文書要素の表示属性は標準に変えられる。
【００３５】
ステップＳ１９０５で文書要素の形態更新時間属性が、現在表示を行なおうとしているユーザの参照時間情報62の時刻よりも新しいと判断された場合は、文書要素内容が変更されたと考えられるので、ステップＳ１９０６で文書要素内容の表示属性が変えられる。逆に、文書要素の形態更新時間属性が、現在表示を行なおうとしているユーザの参照時間情報62の時刻よりも古い場合は、文書要素内容は変更されていないと考えられるので、ステップＳ１９０７で文書要素内容の表示属性は標準に変えられる。
【００３６】
続いて、ステップＳ1908で、決定された表示属性にしたがって文書要素の先頭が表示される。続いてステップＳ1909で、決定された表示属性にしたがって文書要素の内容が表示される。ステップＳ１９１０で表示されている文書要素内容中に文書要素が現れた場合、ステップＳ１９１１でその文書要素に対して文書要素内容表示処理を再帰的に行なう。表示属性の変更としては図１５のように、色を変えて、例えば変更部分を網掛けし、その色を変えることや、表示属性の標準を薄い色にしておき、変更の度に濃くしていくといったようなことなどが考えられる。また、特に表示属性の変化に段階を付けず、更新部分はすべて反転表示させ、それ以外は標準で表示するなど、二値的な表示でもよい。
【００３７】
ステップＳ１９１２で文書要素内容の表示が終了すると、ステップＳ1913において文書要素の末尾を表示し、ステップＳ1914で、表示属性を元に戻し、文書要素内容表示処理を終了する。
【００３８】
以上のような状態更新時間及び形態更新時間とユーザ別参照時間の組合わせに応じて、例えば図18に示したような表示例が実現できる。文書を書き足したような場合は、図中1のように、文書要素内容、該内容に含まれる文書要素、該文書要素の内容全てが変更部分として表示される。また、文書要素がＣｕｔ  ＆  Ｐａｓｔｅ、あるいは  Ｃｏｐｙ  ＆  Ｐａｓｔｅ  された場合も、Ｐａｓｔｅ  された文書要素及び挿入された文書要素内容の更新時間情報が更新されているので、図中１のように表示される。文書の構造を変えずに、文書要素の内容の文字のみを変更したような場合は、図中２，３，４のように、変更のあった文書要素内容のみが、変更部分として表示される。何も変更のなかった場合は、図中５のように、全ての文書は標準で表示される。
【００３９】
以上のように表示することで、更新されたことによって読者が確認すべき情報を、明示する機構を実現することができる。
【００４０】
ステップＳ１３０３と同等のステップで、文書内容が全て表示されたら、現在時刻を表示を行なったユーザの参照時間情報６２として補助記憶装置６に格納しイベントループに戻る。これによって文書表示プログラム５１２が実現される。こうすることによって、常にユーザが文書を参照した時点でユーザ別参照時間に参照時刻が保持され、ユーザ別参照時間情報６２と、文書要素の持つ状態更新時間属性及び形態更新時間属性を比較することで、各ユーザが前回参照した以降に更新された情報を、文書の構造を単位として知ることができる。また、本実施例では、文書要素と文書要素の内容とで、別々の更新時間属性、つまり状態更新時間と形態更新時間を持たせることによって、実際の変更のあった部分を特定し易くしている。
【００４１】
つまり、変更のあった文書要素あるいは文書要素内容の中でも、変更のなかった文書情報に関しては標準属性で表示されるので、変更のあった部分と変更のなかった部分をそれぞれ明示できる。本実施例によれば、ユーザが参照した以降に文書データが更新され、既知情報と未知情報が混在する文書情報６１から各ユーザ別に未知情報を含む文書要素及び文書要素の内容の把握を可能とした。このため、容易に各ユーザが確認する必要のある文書情報を得られると言う利点がある。特に、親要素の内容が変更されていても、それに含まれる子要素が変更されていない場合に、子要素が変更されていないことを明示することができると言う、利点がある。
【００４２】
（第３の実施例）
これまでの実施例では、挿入された要素の内容は未知情報、すなわち更新によって読者が確認すべき情報として扱ったが、もちろんこれに限るわけではない。本実施例は、要素が挿入される時に、その要素の中の全ての要素の状態更新時間属性及び形態更新時間属性に関しては変更しないことによって、変更部分を明示するものである。
【００４３】
以下、図を用いて本発明における実施例を説明する。
【００４４】
本実施例のブロック図は図１の文書変更プログラム521が文書変更プログラム522に変更されたものである(不図示)。この実施例において、文書は図7と同様に、文書要素の状態更新時間情報 ST と、文書要素の形態更新時間情報 FT を属性として持つような構造化文書データとして扱われる。本実施例のシステム全体のフロチャートは図9の文書編集処理ステップＳ903が別の文書編集処理に変更されたものである(不図示)。あるユーザによってシステムが起動されるとステップＳ901と同等のイベントループでイベントを待つ。表示の場合は実施例1に同じである。終了の場合は実施例1に同じである。編集の操作が行なわれた場合、該文書が変更される。編集のイベントが起こった場合、図10のフロチャートと同様な処理によって編集が行なわれる。図10のステップＳ1002と同様のステップにおいて、図11と同等のフロチャ−トに従って文書情報が文書要素単位で編集される。実施例1との相違は以下のステップである。
【００４５】
すなわち、ステップＳ1102と同等のステップで挿入が行なわれると、挿入された文書要素を子要素とする親要素のFTと、挿入された文書要素自身のSTのみが現在時刻にセットされる(不図示）。こうすることよって、図17に示したように更新時間属性が変更される。こうすることによって、図9のステップＳ902表示処理と同等の処理によって、例えば図20に示したような表示例が実現できる。文書を書き足したような場合は、図中1のように、文書要素内容、該内容に含まれる文書要素、該文書要素の内容全てが変更部分として表示される。また、文書要素が Cut & Paste、あるいは Copy & Paste された場合は、Paste された処理対象の要素の状態更新時間属性、及び処理対象の親要素の形態更新時間属性のみが更新されているので、図中3のように表示される。文書の構造を変えずに、文書要素の内容の文字のみを変更したような場合は、図中2,4,5のように、変更のあった文書要素内容が、変更部分として表示される。何も変更のなかった場合は、図中6のように、全ての文書は標準で表示される。以上のように表示することで、更新されたことによって読者が確認すべき情報を、明示する機構を実現することができる。
【００４６】
文書表示プログラムは、実施例2と同等でも良い。こうすることによって、常にユーザが文書を参照した時点でユーザ別参照時間に参照時刻が保持され、ユーザ別参照時間情報62と、文書要素の持つ状態更新時間属性及び形態更新時間属性を比較することで、各ユーザが前回参照した以降に更新された情報を、文書の構造を単位として知ることができる。また、本実施例では、文書要素と文書要素の内容とで、別々の更新時間属性、つまり状態更新時間と形態更新時間を持たせることによって、実際の変更のあった部分を特定し易くしている。つまり、変更のあった文書要素内容の中でも、変更のなかった文書情報に関しては更新時間が変更されないので、変更のあった部分と変更のなかった部分をそれぞれ明示できる。本実施例によれば、ユーザが参照した以降に文書データが更新され、既知情報と未知情報が混在する文書情報61から各ユーザ別に未知情報を含む文書要素及び文書要素の内容の把握を可能とした。このため、容易に各ユーザが確認する必要のある文書情報を得られると言う利点がある。特に、要素が挿入された場合で、その要素の内容自体には変更がなく、既知の情報である場合に、要素の内容が変更されていないことを明示することができる。
【００４７】
（第４の実施例）
これまでの実施例では、挿入された要素を子要素とする親要素の内容は変更され、更新によって読者が確認すべき情報として扱ったが、もちろんこれに限るわけではない。本実施例は、要素が挿入される時に、挿入された要素を子要素とする親要素の形態更新属性に関しては変更しないことによって、変更部分を明示するものである。本実施例のブロック図は図1の文書変更プログラム521が文書変更プログラム523に変更されたものである(不図示)。この実施例において、文書は図7と同様に、文書要素の状態更新時間情報 ST と、文書要素の形態更新時間情報 FT を属性として持つような構造化文書データとして扱われる。
【００４８】
本実施例のシステム全体のフロチャートは図9の文書編集処理ステップＳ903が別の文書編集処理に変更されたものである(不図示)。あるユーザによってシステムが起動されるとステップＳ901と同等のイベントループでイベントを待つ。表示の操作が行なわれた場合は、実施例2に同じである。編集の操作が行なわれた場合、該文書が変更される。終了の操作が行なわれた場合、システムは終了する。編集のイベントが起こった場合、図10のフロチャートと同様な処理によって編集が行なわれる。
【００４９】
図10のステップＳ1002と同様のステップにおいて、図21のフロチャ−トに従って文書情報が文書要素単位で編集される。以下にその動作手順を示す。
【００５０】
ステップＳ2101で、文書情報は文書要素の内容単位で編集される。ステップＳ２１０２で文書要素が挿入されると、ステップＳ２１０３で挿入された文書要素自身の状態更新時間属性が現在時刻にセットされる。ステップＳ２１０４で挿入された文書要素が文字と判断された場合は、挿入された文字を子要素とする親要素の内容が変更されているので、ステップＳ２１０５で、親要素の形態の更新時間属性が、現在時刻にセットされる。ステップＳ２１０６で削除が行なわれると、ステップＳ2107で、削除された処理対象を子要素とする親要素の内容が変更されたので、親要素の形態の更新時間属性が、現在時刻にセットされる。文字の挿入削除は、文字列単位で扱っても良い。この文書編集処理におけるステップＳ2101、Ｓ2102、Ｓ2104、Ｓ2106のステップは、逐次的に行なわれる必要はなく、文書の編集にともなって文書要素と文書要素内容の更新属性時間が現在時刻に更新されれば、例えばイベントドリブンのような形で実現されていても良い。
【００５１】
これらの処理によって、図22に示したように更新時間属性が変更される。すべての編集が終了するとステップＳ2108で、文書要素内容編集処理は終了される。表示のイベントが起こった場合、実施例2と同様の処理によって、例えば図25に示したような表示例が実現できる。文書を書き足したような場合は、図中1のように、文書要素内容、該内容に含まれる文書要素、該文書要素の内容全てが変更部分として表示される。文書の構造を変えずに、文書要素の内容の文字のみを変更したような場合は、図中2,4,6のように、変更のあった文書要素内容のみが、変更部分として表示される。文書要素内容に、文書要素(new-elem)が挿入されたときには、挿入された文書要素を子要素として持つ親文書要素の内容が変更されている場合に図中3のように、挿入された文書要素の内容が変更された場合に図中5のように、挿入以外の変更がない場合に図中7のように表示される。図中7は、単純に文書要素が別の文書要素などから挿入された場合を示している。何も変更のなかった場合は、図中8のように、全ての文書は標準で表示される。
【００５２】
以上のように表示することで、本実施例の、先に規定した、更新によって読者が見たい情報を、明示する機構を実現することができる。この際、変更表示されている文書要素は、全て挿入されていることが分かる。文書表示プログラムは、実施例1と同等でも良い。こうすることによって、常にユーザが文書を参照した時点でユーザ別参照時間に参照時刻が保持され、ユーザ別参照時間情報62と、文書要素の持つ状態更新時間属性及び形態更新時間属性を比較することで、各ユーザが前回参照した以降に更新された情報を，文書の構造を単位として知ることができる。また、本実施例では、文書要素と文書要素の内容とで、別々の更新時間属性、つまり状態更新時間と形態更新時間を持たせることによって、実際の変更のあった部分を特定し易くしている。
【００５３】
つまり、挿入された文書要素を子要素として持つ親要素の内容については、変更がなかったとすることで、挿入された子要素を明示することができる。本実施例によれば、ユーザが参照した以降に文書データが更新され、既知情報と未知情報が混在する文書情報61から各ユーザ別に未知情報を含む文書要素及び文書要素の内容の把握を可能とした。このため、容易に各ユーザが確認する必要のある文書情報を得られると言う利点がある。特に、Cut & Paste および Copy & Paste によって挿入された文書要素に関して、挿入されたことを明示することができる。つまり構造の変化が分かりやすいという利点がある。
【００５４】
（第５の実施例）
第4の実施例では、Cut & Paste および Copy & Paste を、区別なく扱っていたが、もちろんこれに限るわけではない． 本実施例では、Cut と Copy を区別することによって、Cut & Paste は移動、Copy & Paste は未知情報の追加として扱う場合について述べる。本実施例のブロック図は図1の文書変更プログラム521が文書変更プログラム523に変更されたものである(不図示)。この実施例において、文書は図7と同様に、文書要素の状態更新時間情報 ST と、文書要素の形態更新時間情報 FT を属性として持つような構造化文書データとして扱われる。本実施例のシステム全体のフロチャートは図9の文書編集処理ステップＳ903が別の文書編集処理に変更されたものである(不図示)。あるユーザによってシステムが起動されるとステップＳ901と同等のイベントループでイベントを待つ。表示の操作が行なわれた場合は実施例２に同じである。終了の操作が行なわれた場合、システムは終了する。編集のイベントが起こった場合、図10のフロチャートと同様な処理によって編集が行なわれる。
【００５５】
図10のステップＳ1002と同様のステップにおいて、図23のフロチャ−トに従って文書情報が文書要素単位で編集される。以下にその動作手順を示す。
【００５６】
ステップＳ2301で、文書情報は文書要素の内容単位で編集される。文書要素が、例えばカットバッファなどから挿入されると、ステップＳ２３０３で挿入された文書要素自身の状態更新時間属性が現在時刻にセットされる。挿入された文書要素が文字の場合は、挿入された文字を子要素とする親要素の内容が変更されているので、ステップＳ2305で、親要素の形態の更新時間属性が、現在時刻にセットされる。ステップＳ２３０６で削除が行なわれると判断されると、ステップＳ2307で、削除された処理対象を子要素とする親要素の内容が変更されたので、親要素の形態の更新時間属性が、現在時刻にセットされる。その際、削除された処理対象は、その中の全ての状態更新時間属性及び、形態更新時間属性を変更せずに、カットバッファに格納される。ステップＳ２３０８で文書要素が複製されると、該複製された文書要素自身の中の全ての状態更新時間属性及び形態更新時間属性が、現在時刻にセットされ、カットバッファに格納される。文字の挿入削除は、文字列単位で扱っても良い。この文書編集処理におけるステップＳ2301、Ｓ2302、Ｓ2304、Ｓ2306のステップは、逐次的に行なわれる必要はなく、文書の編集にともなって文書要素と文書要素内容の更新属性時間が現在時刻に更新されれば、例えばイベントドリブンのような形で実現されていても良い。これらの処理によって、図24に示したように更新時間属性が変更される。すべての編集が終了するとステップＳ2310で、文書要素内容編集処理は終了される。
【００５７】
表示のイベントが起こった場合は実施例2と同じである。こうすることによって、例えば図25に示したような表示例が実現できる。本実施例の場合は、25に示したような表示例は以下のような意味を持つ。文書を書き足したような場合は、図中1のように、文書要素内容、該内容に含まれる文書要素、該文書要素の内容全てが変更部分として表示される。文書の構造を変えずに、文書要素の内容の文字のみを変更したような場合は、図中2,4,6のように、変更のあった文書要素内容のみが、変更部分として表示される。文書要素内容に、文書要素(new-elem) が挿入された場合で、挿入された文書要素が Cut & Paste 、つまり移動された場合は図中 3,7のように挿入された文書要素の先頭お呼び末尾が変更表示され、その内容については標準表示される。図中3 は挿入された文書要素を子とする親要素の内容も変更されている場合である。文書要素内容に、文書要素(new-elem)が Copy & Paste で挿入された場合や、挿入された文書要素内容が変更された場合は、図中1,5 のように表示される。この際図中1のように表示されるのは、挿入された文書要素を子とする親要素の内容も変更されている場合である。何も変更のなかった場合は、図中8のように、全ての文書は標準で表示される。
【００５８】
以上のように表示することで、更新されたことによって読者が確認すべき情報を、明示する機構を実現することができる。この際、変更表示されている文書要素が、変更されていない文書要素内容を持っていれば、該文書要素が移動されてきただけであることが分かる。こうすることによって、常にユーザ別参照時間が保持され、ユーザ別参照時間情報62と、文書要素の挿入時刻である状態更新時間属性、及び文書要素内容の文書要素の削除時刻，あるいは文字の挿入削除時刻である，文書要素の形態更新時間属性を比較することで、各ユーザが前回参照した以降に更新された情報を，文書の構造を単位として知ることができる。また，これによって，実際の挿入された文書要素、及び移動された文書要素を特定し易くしている。とくに、挿入された文書要素の内容が更新表示されていない場合は、その要素が移動されたものだと言うことが明示できる。本実施例によれば、ユーザが参照した以降に文書データが更新され、既知情報と未知情報が混在する文書情報61から各ユーザ別に未知情報を含む文書要素及び文書要素の内容の把握を可能とした。このため、容易に各ユーザが確認する必要のある文書情報を得られると言う利点がある。特に、Cut & Paste および Copy & Paste によって挿入された文書要素に関して、挿入されたことを明示することができる。つまり構造の変化が分かりやすいという利点がある。特に、Cut 時と Copy 時で文書要素内容の中の全ての更新時間属性の変更の仕方を変えることによって、文書要素の移動を明示することができる。
【００５９】
（第６の実施例）
これまでの実施例では、表示属性の変更としてとして、色の濃淡を用いたが、もちろんこれに限るわけではない。図6に示したように、近傍に変更を表わす黒線を表示するというようなものが考えられる。また、図26に示したように、文書要素のタグの表示のないような場合、文書要素用8と、文書要素内容用9の2本の線を用いて、変更を表示することも考えられる。構造にネストがあり、ネストの深さが違うところで複数の変更がある場合、図２７、２８のように変更部分表示の表示属性の変更の重複によって線の濃さを変えたり、幅を変えたり、数を増やしたりすることも考えられる。この際、文書要素よりも一つネストの深いものが文書要素内容であると考えることで、文書要素のタグの表示のないものにも対応できる。また、図２９のように、変更のあった文書要素のタグや文書要素の内容を変形矩形で囲って表示することも考えられる。ここに挙げたような方法によって表示属性を変えることで、ユーザが参照した以降に文書データが更新され、既知情報と未知情報が混在する文書情報61から各ユーザ別に未知情報を含む文書要素及び文書要素の内容の把握が可能となる。このため、容易に各ユーザが確認する必要のある、見たい文書情報を得られると言う利点がある。
【００６０】
本実施例によれば、前回参照時の文書と、現時点の文書のどこの情報が変化しているのかを明示することで、既知情報と未知情報の把握を可能とした。このため、容易に各ユーザが各々見たい最新情報を、文書の形で得られるという効果がある。また、文書要素と、文書要素の内容の更新情報を区別し、それぞれに対応して状態更新時間属性と形態更新時間属性を持たせることによって、変更の有無の特定を容易にしている。また、特に、親要素の内容が変更されていても、それに含まれる子要素が変更されていない場合に、子要素が変更されていないことを明示することができる効果がある。また、特に、要素が挿入された場合で、その要素の内容自体には変更がなく、既知の情報である場合に、要素の内容が変更されていないことを明示することができる効果がある。また、特に、Cut & Paste およびCopy & Paste によって挿入された文書要素に関して、挿入されたことを明示することができる効果がある。また、特にCut時とCopy時で文書要素内容の中の全ての更新時間属性の変更の仕方を変えることによって、文書要素の移動を明示することができる効果がある。また、構造の変化が分かりやすい効果がある。また、変更部分を明示できるという効果がある。
【発明の効果】
以上説明したように、本発明によれば、文書要素と文書要素内容それぞれについて更新時間情報と前回の参照時間情報を比較して、該比較結果を識別可能に表示するので、実際に変更された部分を特定し易くなった。
【図面の簡単な説明】
【図１】本発明の一実施例の文書処理装置の構成を示すブロック図である。
【図２】一般的な構造化文書データの一例を示す図である。
【図３】従来の文書データの格納の例を説明する図である。
【図４】従来の文書データから文書を提供する例を説明する図である。
【図５】従来の文書表示の一例を示す図である。
【図６】従来の変化した文書表示の一例を示す図である。
【図７】本実施例の更新時間情報を持つ構造化文書データの一例示す図である。
【図８】本実施例のユーザ毎の文書参照時間情報の一例を示す図である。
【図９】本実施例の文書処理装置における処理を示すフローチャートである。
【図１０】本実施例の文書処理装置における文書編集処理を示すフロチャートである。
【図１１】本実施例の文書処理装置における文書要素編集処理を示すフロチャートである。
【図１２】本発明の第１の実施例の属性変更の表示例を示す図である。
【図１３】本発明の第１の実施例の文書表示処理を示すフロチャートである。
【図１４】本発明の第１の実施例の文書要素表示処理を示すフロチャートである。
【図１５】本発明の第１の実施例の変更部分の表示例を示す図である。
【図１６】本発明の第１の実施例の文書の表示例を示す図である。
【図１７】本発明の第３の実施例の属性変更の一例を示す図である。
【図１８】本発明の第２の実施例の文書の表示例を示す図である。
【図１９】本発明の第２の実施例の文書要素表示処理を示すフロチャートである。
【図２０】本発明の第３の実施例の文書の表示例を示す図である。
【図２１】本発明の第４の実施例の文書要素編集処理を示すフロチャートである。
【図２２】本発明の第４の実施例の属性変更の一例を示す図である。
【図２３】本発明の第５の実施例の文書要素編集処理を示すフロチャートである。
【図２４】本発明の第５の実施例の属性変更の一例を示す図である。
【図２５】本発明の第５の実施例の文書の表示例を示す図である。
【図２６】本発明の第６の実施例の変更部分の表示例を示す図である。
【図２７】本発明の第６の実施例の変更部分の表示例を示す図である。
【図２８】本発明の第６の実施例の変更部分の表示例を示す図である。
【図２９】本発明の第６の実施例の変更部分の表示例を示す図である。
【符号の説明】
１  キーボード
２  マウス
３  ＣＰＵ
４  ＣＲＴ
５  メモリなどの記憶装置
６  ハードディスクなどの補助記憶装置
５１１  文書表示プログラム
５２１  文書変更プログラム
６１  現在の文書情報
６２  ユーザ別文書参照情報
１０  タイマ
【図１】
0003727958.tif 000002
【図２】
0003727958.tif 000003
【図３】
0003727958.tif 000004
【図４】
0003727958.tif 000005
【図５】
0003727958.tif 000006
【図６】
0003727958.tif 000007
【図７】
0003727958.tif 000008
【図８】
0003727958.tif 000009
【図９】
0003727958.tif 000010
【図１０】
0003727958.tif 000011
【図１１】
0003727958.tif 000012
【図１２】
0003727958.tif 000013
【図１３】
0003727958.tif 000014
【図１４】
0003727958.tif 000015
【図１５】
0003727958.tif 000016
【図１６】
0003727958.tif 000017
【図１７】
0003727958.tif 000018
【図１８】
0003727958.tif 000019
【図１９】
0003727958.tif 000020
【図２０】
0003727958.tif 000021
【図２１】
0003727958.tif 000022
【図２２】
0003727958.tif 000023
【図２３】
0003727958.tif 000024
【図２４】
0003727958.tif 000025
【図２５】
0003727958.tif 000026
【図２６】
0003727958.tif 000027
【図２７】
0003727958.tif 000028
【図２８】
0003727958.tif 000029
【図２９】
0003727958.tif 000030