| 【発明の名称】 |
構造化文書処理方法および装置および構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
| 【発明者】 |
【氏名】青山 ゆき
【氏名】滝田 幸恵
【氏名】高橋 亨
【氏名】星 幸雄
|
| 【要約】 |
【課題】用語や名前、所属などの情報を共有情報とし、表記の統一を行うことや、修正をすべての文書へ自動的に簡単に反映できるようにする。
【解決手段】共有情報編集プログラム105は、複数の構造化文書中に頻繁に記述される共有情報103aを編集し、共有情報格納プログラム106は、編集した共有情報103aを2次記憶装置103に格納し、共有情報表示プログラム107は、格納された共有情報103aを情報の種類ごとに一覧表示し、構造化文書編集プログラム108は、構造化文書103bを編集し、前記一覧表示された編集済み共有情報から選択された共有情報へのリンクを該構造化文書中に記述し、構造化文書格納プログラム109は、編集した構造化文書103bを2次記憶装置103に格納し、構造化文書表示・印刷プログラム110は、共有情報103aと構造化文書103bを2次記憶装置から読み出し、共有情報103aの内容を構造化文書103bに埋め込んで表示、印刷する。 |
【特許請求の範囲】
【請求項1】 処理装置と、記憶装置と、端末装置を備える情報処理システムにおける構造化文書編集のための構造化文書処理方法であって、複数の該構造化文書中に頻繁に記述される情報を共有情報として編集する共有情報編集ステップと、該編集済み共有情報を前記記憶装置に格納する共有情報格納ステップと、格納された該編集済み共有情報を情報の種類ごとに一覧表示する共有情報表示ステップと、構造化文書を編集し、前記一覧表示された編集済み共有情報から選択された共有情報へのリンクを該構造化文書中に記述する構造化文書編集ステップと、該編集済み構造化文書を前記記憶装置に格納する構造化文書格納ステップと、前記記憶装置から前記編集済み共有情報と編集済み構造化文書を読み出し、該編集済み構造化文書中のリンクに従い該編集済み共有情報から該編集済み構造化文書に共有情報を埋め込み、共有情報を埋め込まれた編集済み構造化文書表示、印刷する構造化文書表示・印刷ステップからなることを特徴とする構造化文書処理方法。 【請求項2】 請求項1記載の構造化文書処理方法において、前記共有情報編集ステップは、前記共有情報を略号、造語などの用語、または人名、所属等の用語を組み合わせた組合せ用語とし、該共有情報を情報の種類ごとに構造化文書化して編集することを特徴とする構造化文書処理方法。 【請求項3】 請求項1または請求項2記載の構造化文書処理方法において、前記共有情報および構造化文書の変更履歴を管理する版管理ステップを備え、該版管理ステップは、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記構造化文書表示・印刷ステップにおいて該構造化文書を表示、印刷する際には、前記バージョン情報に基づき該構造化文書の作成日時より以前に作成された最新のバージョンの共有情報を選択し、該選択した共有情報を該構造化文書に埋め込こむことを特徴とする構造化文書処理方法。 【請求項4】 請求項1または請求項2記載の構造化文書処理方法において、前記共有情報および構造化文書の変更履歴を管理する版管理ステップと、整合性処理済み共有情報を生成する整合性処理ステップを備え、前記版管理ステップは、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記整合性処理ステップは、前記構造化文書を作成した以降に、前記共有情報が編集されて共有情報の文字列や構造が変更されている場合は、文字列は変更後の内容で、構造の変更は構造化文書作成時の状態に戻した整合性処理済み共有情報を生成し、前記構造化文書表示・印刷ステップにおいて前記構造化文書を表示、印刷する際には、前記整合性処理済み共有情報を該構造化文書に埋め込こむことを特徴とする構造化文書処理方法。 【請求項5】 請求項1または請求項2記載の構造化文書処理方法において、前記共有情報および構造化文書の変更履歴を管理する版管理ステップと、整合性処理済み共有情報を生成する整合性処理ステップを備え、前記版管理ステップは、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記整合性処理ステップは、前記構造化文書を作成した以降に、前記共有情報が編集されている場合には、最新の共有情報と表示・印刷する構造化文書の作成時の共有情報とを取得し、該取得した両共有情報を比較して構造の変更箇所を抽出し、構造が変更されている場合には、最新の共有情報に対して、変更された構造を構造化文書作成時の共有情報の状態に戻した整合性処理済み共有情報を生成し、前記構造化文書表示・印刷ステップにおいて前記構造化文書を表示、印刷する際には、前記整合性処理済み共有情報を該構造化文書に埋め込こむことを特徴とする構造化文書処理方法。 【請求項6】 請求項5記載の構造化文書処理方法において、前記整合性処理ステップおいて構造が変更されている場合に、該変更の内容が作成時の共有情報に構造を挿入したものであるときは最新の共有情報から該構造を削除し、該変更の内容が作成時の共有情報から構造を削除したものであるときは最新の共有情報に対して該構造を挿入し、該変更の内容が作成時の共有情報の構造を入れ替えたものであるときは最新の共有情報から入れ替え後の構造を削除し入れ替え前の構造を挿入し、整合性処理済み共有情報を生成することを特徴とする構造化文書処理方法。 【請求項7】 処理装置と、記憶装置と、端末装置を備える構造化文書編集のための構造化文書処理装置であって、複数の該構造化文書中に頻繁に記述される情報を共有情報として編集する共有情報編集手段と、該編集済み共有情報を前記記憶装置に格納する共有情報格納手段と、格納された該編集済み共有情報を情報の種類ごとに一覧表示する共有情報表示手段と、構造化文書を編集し、前記一覧表示された編集済み共有情報から選択された共有情報へのリンクを該構造化文書中に記述する構造化文書編集手段と、該編集済み構造化文書を前記記憶装置に格納する構造化文書格納手段と、前記記憶装置から前記編集済み共有情報と編集済み構造化文書を読み出し、該編集済み構造化文書中のリンクに従い該編集済み共有情報から該編集済み構造化文書に共有情報を埋め込み、共有情報を埋め込まれた編集済み構造化文書表示、印刷する構造化文書表示・印刷手段からなることを特徴とする構造化文書処理装置。 【請求項8】 請求項7記載の構造化文書処理装置において、前記共有情報編集手段は、前記共有情報を略号、造語などの用語、または人名、所属等の用語を組み合わせた組合せ用語とし、該共有情報を情報の種類ごとに構造化文書化して編集することを特徴とする構造化文書処理装置。 【請求項9】 請求項7または請求項8記載の構造化文書処理装置において、前記共有情報および構造化文書の変更履歴を管理する版管理手段を備え、該版管理手段は、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記構造化文書表示・印刷手段が該構造化文書を表示、印刷する際には、前記バージョン情報に基づき該構造化文書の作成日時より以前に作成された最新のバージョンの共有情報を選択し、該選択した共有情報を該構造化文書に埋め込こむことを特徴とする構造化文書処理装置。 【請求項10】 請求項7または請求項8記載の構造化文書処理装置において、 前記共有情報および構造化文書の変更履歴を管理する版管理手段と、整合性処理済み共有情報を生成する整合性処理手段を備え、前記版管理手段は、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記整合性処理手段は、前記構造化文書を作成した以降に、前記共有情報が編集されて共有情報の文字列や構造が変更されている場合は、文字列は変更後の内容で、構造の変更は構造化文書作成時の状態に戻した整合性処理済み共有情報を生成し、前記構造化文書表示・印刷手段が前記構造化文書を表示、印刷する際には、前記整合性処理済み共有情報を該構造化文書に埋め込こむことを特徴とする構造化文書処理装置。 【請求項11】 複数の構造化文書中に頻繁に記述される情報を共有情報として編集する共有情報編集手順と、該編集済み共有情報を記憶装置に格納する共有情報格納手順と、格納された該編集済み共有情報を情報の種類ごとに一覧表示する共有情報表示手順と、構造化文書を編集し、前記一覧表示された編集済み共有情報から選択された共有情報へのリンクを該構造化文書中に記述する構造化文書編集手順と、該編集済み構造化文書を前記記憶装置に格納する構造化文書格納手順と、前記記憶装置から前記編集済み共有情報と編集済み構造化文書を読み出し、該編集済み構造化文書中のリンクに従い該編集済み共有情報から該編集済み構造化文書に共有情報を埋め込み、共有情報を埋め込まれた編集済み構造化文書表示、印刷する構造化文書表示・印刷手順を実行させる構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体。 【請求項12】 複数の構造化文書中に頻繁に記述される略号、造語などの用語、または人名、所属等の用語を組み合わせた組合せ用語を共有情報とし、該共有情報を情報の種類ごとに構造化文書化して編集する共有情報編集手順と、該編集済み共有情報を記憶装置に格納する共有情報格納手順と、格納された該編集済み共有情報を情報の種類ごとに一覧表示する共有情報表示手順と、構造化文書を編集し、前記一覧表示された編集済み共有情報から選択された共有情報へのリンクを該構造化文書中に記述する構造化文書編集手順と、該編集済み構造化文書を前記記憶装置に格納する構造化文書格納手順と、前記記憶装置から前記編集済み共有情報と編集済み構造化文書を読み出し、該編集済み構造化文書中のリンクに従い該編集済み共有情報から該編集済み構造化文書に共有情報を埋め込み、共有情報を埋め込まれた編集済み構造化文書表示、印刷する構造化文書表示・印刷手順を実行させる構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体。 【請求項13】 請求項11または請求項12記載の構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体において、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記共有情報および構造化文書の変更履歴を管理する版管理手順と、前記構造化文書表示・印刷手順において前記構造化文書を表示、印刷する際には、前記バージョン情報に基づき該構造化文書の作成日時より以前に作成された最新のバージョンの共有情報を選択し、該選択した共有情報を該構造化文書に埋め込こむ手順とを追加した、構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体。 【請求項14】 請求項11または請求項12記載の構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体において、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記共有情報および構造化文書の変更履歴を管理する版管理手順と、前記構造化文書を作成した以降に、前記共有情報が編集されて共有情報の文字列や構造が変更されている場合は、文字列は変更後の内容で、構造の変更は構造化文書作成時の状態に戻した整合性処理済み共有情報を生成する整合性処理手順と、前記構造化文書表示・印刷手順において前記構造化文書を表示、印刷する際には、前記整合性処理済み共有情報を該構造化文書に埋め込こむ手順とを追加した、構造化文書処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、構造化文書を作成し、表示・印刷を行うワープロ等の構造化文書処理技術に係り、特に、共有情報を用いる構造化文書処理技術に関する。 【0002】 【従来の技術】近年、文書情報の効率的な共有と再利用を目的に、SGML等を用いて文書を構造化して作成し、利用する動きが活発化してきた。構造化文書は、文書をその構成要素である文書部品に分けて編集し、それぞれの部品へのリンクを記述して、構造化文書を組み立てることが可能なため、文書部品を他の構造化文書と共有したり、他の構造化文書を部品単位で再利用したりすることが容易である。リンクを記述した構造化文書を表示、印刷する際は、記述箇所にリンク先の他の構造化文書の文書部品の内容を埋め込んだ文書に変換して、表示、印刷される。 【0003】このため、従来、構造化文書を編集するためのエディタ等では、他の文書の一部である文書部品を指定して、編集中の文書にその部品へのリンクを記述する手段を提供している。このような構造化文書エディタを用いると、例えば、設計書を編集している時に、他の構造化文書である機能仕様書用に作成した図を再利用するといった操作が、容易に行える。また、再利用された部品を編集した場合は、その部品を共有している文書すべてに編集結果が反映されるため、整合性の管理等も容易になる。 【0004】「特開平8-44718」では、複数の文書で図表等を共有する際に、共有関係を管理することで、共有された構成要素を共有文書から編集しても、被共有文書(図表等)に正しく反映することを可能にし、共有情報の一貫性を維持する方法が開示されている。また、版管理が行われる文書システムにおいても、共有情報の一貫性を維持するために、版の削除を行う際には、複数の版が構成要素を共有しているかを判断することを可能にすることで、共有関係に矛盾が生じないような管理を実現している。 【0005】 【発明が解決しようとする課題】共有すると有効な文書の構成要素には、「特開平8-44718」において処理対象としている図表等の他に、多数の文書で使用される文字列がある。例えば、文書を作成する際に、複数の文書、あるいは文書内で、ある文字列を統一したいということはよくある。製品開発のプロジェクトで仕様書等を執筆する場合、プロジェクトを構成するモジュール名や、固有に用いられる略号、造語などは、すべての文書で統一する必要がある。しかし、プロジェクトを進めるうちに、こういった用語はより適切なものに変更されることが多く、従来は、変更された時点ですべての文書を人手で修正せざるを得ない状況であった。複数の人が分担して執筆する場合などでは、さらに統一することが難しく、最後に文書を見直す作業の負荷が膨大になるという問題があった。 【0006】また、人の名前や所属などは、文書の種類を問わず複数の文書に頻繁に記述される。このため、所属等が変更された場合には、多数の文書を修正する必要が生じる。また、文書を作成する場合は、新規に作成せず、同じ種類の文書をテンプレートとしてコピーし内容を編集することが多いため、所属等が変更されても誤った古い所属のままにしてしまうことが多々ある。そこで、こういった情報を部品化して複数の文書で共有できるようにすると、情報の統一が自動的に行われ、訂正があった場合でも共有している文書すべてにその訂正内容が反映されるため非常に効率的な文書作成、編集が行えるようになる。 【0007】しかしながら、このような共有情報を、従来の方式を用いて編集し、共有しようとすると、次のような問題が生じる。 【0008】図5に、従来の構造化文書エディタ等を用いて、他の文書の一部である文書部品を共有した複数の文書を、表示している例を示す。例えば、構造化文書A(501)の構成要素である図(504)(被共有情報と呼ぶ)を指定して、構造化文書B(502)にリンクを記述することで、構造化文書B(502)にはリンク先の文書部品(図504)の内容が表示される。次に、構造化文書D(506)で同じ図(504)を共有する場合は、被共有情報を含む文書、すなわち、構造化文書A(501)を検索して、同様に共有指定の操作を行う。 【0009】しかし、図5の例のように、図等大きな単位で情報を共有し、共有される数もさほど多くない文書部品の場合は、従来の方式でも適用可能であるが、用語、名前や所属など頻繁に共有する文書部品の場合には、この共有指定の操作が極めて煩雑になってしまう。すなわち、このような小さな単位で数多くの情報を共有しようとすると、共有指定の際に、被共有情報を含む他の文書を探しにくくなる。また、プロジェクトでの用語が多数変更されたり、複数の人の所属が一度に変わった場合など、同じ種類の共有情報を同時に変更することはよくあるが、従来の方式では、被共有情報を含む他の文書をそれぞれ検索して変更する必要があり、変更操作が煩雑になってしまう。 【0010】また、人の名前や所属などは相互に関連した情報であり、人が決まれば自動的に名前、所属、内線等も決まるはずである。しかし、従来の方式を用いて構造化文書を編集し、人に関連する情報を共有すると、名前、所属、内線等はそれぞれ独立に共有されるので、例えば名前を変更してもその他の情報である所属、内線等は自動的に変更することができず、共有情報を個々に編集する必要があるため、その編集作業は極めて煩雑なものになってしまう。こういった関連情報を管理するために、データベース管理システムを利用することが行われるが、データベースは、データの構造を定めるスキーマ設計等が難しいため、文書作成等には簡単には応用できないという問題がある。また、データの構造を一度定めると変更することが困難であるという問題もある。 【0011】さらに、共有情報が変更された場合には、その部品を共有している文書すべてにその変更を反映したい場合と、編集済みの過去の文書には変更を反映させたくない場合の両方がある。例えば、プロジェクトに用いる用語の場合は、編集済みの文書にも反映させる必要があるが、過去に提出した報告書等に記載されている報告者の名前や所属などについては、提出時の情報を引用する必要がある。従来の方式では、部品の変更は共有している文書すべてに反映されてしまうため、こういった二通りの整合性の管理ができないという問題がある。さらには、共有情報が変更され、その共有情報を共有している文書にその変更を反映させる場合、共有情報の変更内容によっては、文書と共有情報のリンクの対応関係がずれてしまい、正しく反映されないといった問題もあった。 【0012】本発明の目的は、これらの問題に対して、用語や名前、所属などの情報の表記の統一を行うことや、修正をすべての文書へ自動的に反映させることを簡単に行うことができるようにすることにあり、具体的には構造化文書中に共有情報へのリンクを容易に記述できるようにすることにある。本発明の他の目的は、関連する情報を管理して、その関連情報を用いて効率的に文書の編集が行えるようにするために、データベース管理システムのような複雑な方法でなく、データの構造変更が容易で、簡単に利用できるようにすることにある。本発明のさらに他の目的は、共有情報が変更された場合に、その部品を共有している文書すべてにその変更結果を反映したい場合と、編集済みの過去の文書には変更を反映させたくない場合の、二通りの整合性の管理を可能にすることにある。本発明のさらに他の目的は、共有情報が変更され、その共有情報を共有している文書にその変更結果を反映させる場合にも、文書と共有情報のリンクの対応関係はずれないようにすることを可能にすることにある。 【0013】 【課題を解決するための手段】上記目的を達成するため、本発明は、処理装置と、記憶装置と、端末装置を備え、複数の該構造化文書中に頻繁に記述される情報を共有情報として編集する共有情報編集処理と、該編集済み共有情報を前記記憶装置に格納する共有情報格納処理と、格納された該編集済み共有情報を情報の種類ごとに一覧表示する共有情報表示処理と、構造化文書を編集し、前記一覧表示された編集済み共有情報から選択された共有情報へのリンクを該構造化文書中に記述する構造化文書編集処理と、該編集済み構造化文書を前記記憶装置に格納する構造化文書格納処理と、前記記憶装置から前記編集済み共有情報と編集済み構造化文書を読み出し、該編集済み構造化文書中のリンクに従い該編集済み共有情報から該編集済み構造化文書に共有情報を埋め込み、共有情報を埋め込まれた編集済み構造化文書表示、印刷する構造化文書表示・印刷処理をするようにしている。 【0014】また、前記共有情報編集処理では、前記共有情報を略号、造語などの用語、または人名、所属等の用語を組み合わせた組合せ用語とし、該共有情報を情報の種類ごとに構造化文書化して編集するようにしている。 【0015】また、前記共有情報および構造化文書の変更履歴を管理する版管理処理を行い、該版管理処理は、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、前記構造化文書表示・印刷処理において該構造化文書を表示、印刷する際には、前記バージョン情報に基づき該構造化文書の作成日時より以前に作成された最新のバージョンの共有情報を選択し、該選択した共有情報を該構造化文書に埋め込こむようにしている。 【0016】また、前記共有情報および構造化文書の変更履歴を管理する版管理処理を行い、該版管理処理は、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、さらに、整合性処理済み共有情報を生成する整合性処理を行い、該整合性処理は、前記構造化文書を作成した以降に、前記共有情報が編集されて共有情報の文字列や構造が変更されている場合は、文字列は変更後の内容で、構造の変更は構造化文書作成時の状態に戻した整合性処理済み共有情報を生成し、前記構造化文書表示・印刷処理において該構造化文書を表示、印刷する際には、前記整合性処理済み共有情報を該構造化文書に埋め込こむようにしている。 【0017】また、前記共有情報および構造化文書の変更履歴を管理する版管理処理を行い、該版管理処理は、前記編集済み共有情報および編集済み構造化文書を前記記憶装置に格納するとき、新たなバージョンを付して格納し、かつ共有情報、構造化文書のそれぞれに対するバージョン情報を作成して前記記憶装置に格納し、さらに、整合性処理済み共有情報を生成する整合性処理を行い、該整合性処理は、前記構造化文書を作成した以降に、前記共有情報が編集されている場合には、最新の共有情報と表示・印刷する構造化文書の作成時の共有情報とを取得し、該取得した両共有情報を比較して構造の変更箇所を抽出し、構造が変更されている場合には、最新の共有情報に対して、変更された構造を構造化文書作成時の共有情報の状態に戻した整合性処理済み共有情報を生成し、前記構造化文書表示・印刷処理において前記構造化文書を表示、印刷する際には、前記整合性処理済み共有情報を該構造化文書に埋め込こむようにしている。 【0018】また、前記整合性処理おいて構造が変更されている場合に、該変更の内容が作成時の共有情報に構造を挿入したものであるときは最新の共有情報から該構造を削除し、該変更の内容が作成時の共有情報から構造を削除したものであるときは最新の共有情報に対して該構造を挿入し、該変更の内容が作成時の共有情報の構造を入れ替えたものであるときは最新の共有情報から入れ替え後の構造を削除し入れ替え前の構造を挿入し、整合性処理済み共有情報を生成するようにしている。 【0019】 【発明の実施の形態】以下、本発明の実施の形態の例を説明する。 《実施例1》第一の実施例の構成を図1に示す。図示したように、本実施例は、それぞれ、CPU101、端末装置102、文書を記憶するための2次記憶装置103、プログラムを格納するための記憶媒体104と、各構造化文書処理を行う処理プログラムを格納する一次記憶装置1で構成される。 【0020】さらに上記構造化文書処理プログラムは、複数の構造化文書中に頻繁に記述される共有情報103aを編集する共有情報編集プログラム105と、共有情報103aを2次記憶装置103に格納する共有情報格納プログラム106と、格納された共有情報103aを情報の種類ごとに一覧表示する共有情報表示プログラム107と、構造化文書103bを編集し、共有情報103aについては、共有情報103aへのリンクを記述する構造化文書編集プログラム108と、構造化文書103bを2次記憶装置103に格納する構造化文書格納プログラム109と、共有情報103aの内容を構造化文書103bに埋め込んで表示、印刷する構造化文書表示・印刷プログラム110から構成される。本実施例では、構造化文書としてSGML文書を例にしている。SGMLは、マーク付けされた構造化文書としてISOの国際規格(ISO 8879)として定められた文書記述言語のことである。 【0021】本実施例の具体的な処理手順を、図2、図3および図4のフローチャートを用いて説明する。その後、処理手順に従って、処理例を説明する。図2に示すように、次の手順に従って共有情報を編集する処理が実施される。 【0022】ステップ201:共有情報編集プログラム105は、複数の構造化文書中に頻繁に記述される多数の共有情報のみが入力され、これらの入力された共有情報を編集して2次記憶装置103に共有情報103aとして格納する。ここでは、共有情報としてその後複数の文書で共有されると想定される情報を選び、その情報の種類ごとに情報の記述、修正等を行う。 ステップ202:編集された共有情報103aを共有情報格納プログラム106により、2次記憶装置103に格納する。本実施例では、共有情報を略号、造語などの用語情報や、人名、所属等の人物情報などの情報の種類ごとに構造化文書として格納する例を示すが、共有情報を構造化文書化しない場合には、データベース管理システム等を用いて共有情報を格納してもよいし、通常のファイルシステムにデータファイルとして共有情報を格納することも可能である。 【0023】次に、ステップ201およびステップ202とは独立に、図3に示すように、次の手順に従って構造化文書を編集する処理を実施する。 ステップ301:構造化文書編集プログラム108で、構造化文書の編集を行う。 ステップ302:共有情報を編集中の構造化文書に挿入する場合は、共有情報表示プログラム107で、2次記憶装置103に格納された共有情報を一覧表示する。この際、用語情報、人物情報等、挿入する共有情報の情報の種類を指定して、種類ごとに一覧表示する。 ステップ303:構造化文書編集プログラム108により挿入する共有情報へのリンクを記述する。リンクの記述は、構造化文書編集プログラム108を用いて、ユーザが入力装置により直接リンク表現を記述することも可能であるが、構造化文書編集プログラム108を用いて、共有情報表示プログラム107で選択した用語を、挿入箇所にドラッグ&ドロップするといったユーザ操作によりリンク表現を記述することも可能である。 ステップ304:構造化文書の編集が終了したら、構造化文書格納プログラム109により、本文書を2次記憶装置103に格納する。 【0024】次に、ステップ304で格納された構造化文書については、図4に示すように、次の手順に従って表示、印刷処理を実施する。 ステップ401:構造化文書を表示、印刷する場合は、2次記憶装置103から表示、印刷する構造化文書と、その構造化文書に記述されたリンク先の共有情報を読み込む。 ステップ402:表示・印刷プログラム110によって、共有情報の内容を構造化文書に埋め込み、これを表示、印刷する。 【0025】(処理例1)実施例の詳細を具体的な処理例により説明する。以下、具体的な処理例として図6から図10の文書を例にとり、図2、図3および図4のフローチャートに従って説明する。 ステップ201:共有情報編集プログラム105は、複数の構造化文書中に頻繁に記述される多数の共有情報のみが入力され、これらの入力された共有情報の編集を行う。 【0026】この処理例では、共有情報をすべての文書で記述を統一すべき会社名や製品名、途中で変更の可能性があるプロジェクトのモジュール名などの文字列情報である用語としている。ここでは、共有情報としてその後複数の文書で共有されると想定される用語を選び、その用語の集合の種類ごとに情報の記述、修正等を行う。 【0027】例えば、共有情報編集プログラム105は、図6のようなGUI(Graphic User Interface)を持つ。本図では、用語定義としてKEYと用語を持つ。ユーザは、文書中に記述する文字列のうち、文書によって表現が不統一にならないようにしたい用語や、途中で用語が変更になった場合にもすべての文書で統一したい用語などを、KEYと用語をセットにして定義する。KEYは、構造化文書にその用語へのリンクを記述する際に用いるためのもので、すべての用語において一意となるように定める。図6のGUIには、KEYと用語からなる用語定義が用意され、すべての文書で記述を統一すべき会社名や製品名、途中で変更の可能性があるプロジェクトのモジュール名などの用語をユーザが定義できるようにしている。 【0028】GUIは入力された用語の共有情報を定義し、共有情報編集プログラム105は、該定義に従い共有情報を構造文書化して編集し、図7に示すような構造化文書を作成する。 【0029】用語の共有情報は、<用語定義>という構造の下に、定義した用語の数だけ<用語>という構造を持つよう、構造化して記述する。また、各用語に対応するKEYは、構造<用語>のID属性として記述し、実際の文字列はその構造の内容として記述する。 【0030】ステップ202:編集された共有情報を共有情報格納プログラム106により、2次記憶装置103に格納する。 【0031】格納時には、用語の共有情報を、例えば図7のような構造化文書701として格納する。 【0032】構造化文書を編集する処理例を次に示す。 ステップ301:構造化文書編集プログラム108で、構造化文書の編集を行う。例えば、構造化文書編集プログラム108は、図8のようなGUI(Graphic User Interface)を持つ。本図の801は文書の論理構造を表示するウィンドウで、802がその構造中の文字列を表示するウィンドウである。 【0033】ステップ302:共有情報を編集中の構造化文書に挿入する場合は、共有情報表示プログラム107で、2次記憶装置103に格納された用語の共有情報を一覧表示する。例えば、共有情報表示プログラム107は、図6に示す共有情報編集プログラム105と似たGUIを持ち、用語の共有情報として定義されている用語の一覧を表示する。 【0034】ステップ303:構造化文書編集プログラム108により、挿入する用語の共有情報へのリンクを記述する。図8の例では、ユーザがGUIにより共有情報表示プログラム107で表示した用語を選択し、挿入箇所にドラッグ&ドロップして、構造化文書に用語の共有情報を挿入することにより構造化文書編集プログラム108によりリンクが記述される。なお、803はリンクの記述を意味している。また、構造化文書編集プログラム108を用いて、ユーザが入力装置により直接共有情報へのリンクを記述することもできる。リンクを記述した構造化文書の例を図9に示す。図8ようなユーザ操作を行うと、図9の構造化文書が生成される。図9の構造化文書は、SGMLにハイパーリンクの概念を取り入れたHyTime(Hypermedia/Time-based Structuring Language:ISO/IEC 10744)を用いて、リンクを記述している。SGMLでは、構造間の相互参照を表現するために、参照される構造にID属性を与え、参照側はIDREF属性の値に参照する構造のIDを与える。図9では、用語へのリンクとして、<TERM>という構造902を挿入し、TERMのIDREF属性でリンク先の用語を指定している。ただし、SGMLでは別文書中に記述されたIDを直接IDREF参照できないため、ここではHyTimeを用いて、別文書である共有情報のIDを参照する。図9に示すように、HyTimeの記法に従って、まず、901で共有情報が記述された図7の構造化文書701へのENTITY参照を記述する。ENTITY参照とは、別文書を参照するための記法で、901のENTITY参照以後、"term_dic.sgm"という別文書701がterm_dicというENTITY名で参照できるようになる。903、904は、"term_dic.sgm"の中でID属性を持つ構造を、文書内から参照できるようにする記述である。903は、"term_dic.sgm"の中のIDである"product_name"(905)を"product_name_ref"(906)というIDで、904は、"SGML_parser"(907)を"SGML_parser_ref"(908)というIDで参照できるようにしている。この"product_name_ref"(906)と"SGML_parser_ref"(908)は、文書内でIDREF参照することができるため、それぞれ<TERM>の属性値として定義している。 【0035】ステップ304:構造化文書の編集が終了したら、構造化文書格納プログラム109により、これを2次記憶装置103に格納する。図9に示す構造化文書が格納されることになる。 【0036】次に、ステップ304で格納された図9の構造化文書を表示、印刷する処理例を次に示す。 ステップ401:2次記憶装置103から表示、印刷する構造化文書と、構造化文書に記述されたリンク先の用語の共有情報701を読み込む。 ステップ402:表示・印刷プログラム110によって、用語の共有情報701の内容を構造化文書に埋め込み、これを表示、印刷する。図9の構造化文書を表示した例を図10に示す。本図は、リンクとして記述された用語の共有情報の内容を構造化文書に埋め込み、これをレイアウト表示したものである。 【0037】以上のステップにより、頻繁に用られる用語の共有情報へのリンクを、容易に構造化文書中に記述することが可能となる。これにより、文書によって表現が異ならないようにしたい用語などの表記の統一が容易になり、文書を効率よく編集することができるようになる。これは、複数の人が統一のとれた文書を編集する際に特に有効である。また、用語が変更になった場合でも共有情報を修正するだけで、すべての文書に自動的にその修正が反映されるので、文書の修正を効率よく行うことが可能になる。 【0038】(処理例2)本実施例の2番目の処理例について、図11から図14の例を用いて、図2、図3および図4のフローチャートに従って説明する。 ステップ201:共有情報編集プログラム105で、複数の構造化文書中に頻繁に記述される共有情報の編集を行う。この処理例では、共有情報を人物情報としており、名前、所属、内線の文字列情報である用語を組み合わせた組合せ用語としている。組合せ用語として人物情報以外の情報を適用してもよいことは云うまでもない。ここでは、共有情報としてその後複数の文書で共有されると想定される情報を選び、その用語の集合の種類ごとに情報の記述、修正等を行う。例えば、共有情報編集プログラム105は、図11のようなGUIを持つ。本図では、人物情報としてKEY、名前、所属、内線を持つ。ユーザは、文書中に記述する人物情報についてKEYと名前と所属と内線をセットにして定義する。KEYは、構造化文書にその人物情報へのリンクを記述する際に用いるためのもので、すべての人物情報において一意となるように定める。図11のGUIには、KEYと、人物情報を構成する名前、所属、内線からなる用語定義が用意され、すべての文書で記述を統一すべき人物情報をユーザが定義できるようにしている。GUIは入力された人物情報の共有情報を定義し、共有情報編集プログラム105は、該定義に従い共有情報を構造文書化して編集し、図12に示すような構造化文書を作成する。本図の共有情報は、<人物情報>という構造の下に、定義した人の数だけ<人>という構造を持つよう、構造化して記述している。また、各人に対応するKEYは構造<人>のID属性として記述し、各人物情報は、それぞれ<人>という構造の下に<名前>、<所属>、<内線>という構造を持ち、その構造の内容として記述している。 【0039】ステップ202:編集された人物情報の共有情報1101を共有情報格納プログラム106により、2次記憶装置103に格納する。格納時には、共有情報を、例えば図12のような構造化文書1201として格納する。 【0040】構造化文書を編集する処理例は、次のようになる。 ステップ301:構造化文書編集プログラム108で、構造化文書の編集を行う。構造化文書編集プログラム108は図8と同様なGUIを持つ。 ステップ302:人物情報の共有情報を編集中の構造化文書に挿入する場合は、共有情報表示プログラム107で、2次記憶装置103に格納された人物情報の共有情報を一覧表示する。例えば、共有情報表示プログラム107は、図11に示す共有情報編集プログラム105と似たGUIを持ち、定義されている人物情報の一覧を表示する。 ステップ303:構造化文書編集プログラム108で、挿入する共有情報へのリンクを記述する。リンクの記述は処理例1と同様に行われる。リンクを記述した構造化文書の例を図13に示す。本図では、図9と同様に、HyTimeを用いて共有情報へのリンクを記述している。 【0041】図13に示すように、HyTimeの記法に従って、まず、1301で共有情報が記述された図12の構造化文書1201へのENTITY参照を記述する。"person_dic.sgm"という別文書1201がperson_dicというENTITY名で参照できるようになる。1304は、"person_dic.sgm"の中のIDである"taro"(1202)を持つ構造を、"person_ref"(1309)というIDを用いて参照できるようにしている。1305は、HyTimeのtreelocという記法を用いて、"person_name_ref"(1310)というIDが、"person_ref"という構造から見て、自分自身の1番目の子供の構造を表すよう記述している。すなわち、"平成太郎"という内容を持つ構造<名前>を表す。<treeloc>の下の<marklist>の内容である最初の"1"が自分自身、次の"1"が1番目の子供という意味である。同様に1306は、"person_belong_ref"(1311)というIDが、"person_ref"という構造から見て2番目の子供の構造を表し、1307は、"person_tel_ref"(1312)というIDが、"person_ref"という構造から見て3番目の子供の構造を表すよう記述している。それぞれのIDは、文書内からIDREF参照することができるため、それぞれ<TERM>の属性値として定義している。また、1308の"taro"を"jiro"に変更すると、名前、所属、内線番号等は、ID"jiro"を持つ構造の子供を表すことになるので、図13の1302の<TERM>の記述や、1305、1306、1307等のtreelocの記述を変更することなく、"jiro"の報告書を作成することができる。 【0042】ステップ304:構造化文書の編集が終了したら、構造化文書格納プログラム109により、これを2次記憶装置103に格納する。図13に示す構造化文書が格納されることになる。 【0043】次に、ステップ304で格納された図13の構造化文書を表示、印刷する処理例を示す。 ステップ401:2次記憶装置103から表示、印刷する構造化文書と、構造化文書に記述されたリンク先の共有情報1201を読み込む。 ステップ402:表示・印刷プログラム110によって、人物情報の共有情報1201の内容を構造化文書に埋め込み、これを表示、印刷する。図13の構造化文書を表示した例を、図14に示す。本図では、名前"平成太郎"、所属"開発部12グループ"、内線"1111"等、リンクとして記述された人物情報の共有情報の内容を構造化文書に埋め込み、これをレイアウト表示している。 【0044】以上のステップにより、処理例1と同様に、頻繁に用いられる組合せ用語である共有情報へのリンクを、容易に構造化文書中に記述することができるため、ある人の所属や内線番号の変更があった場合でも、組合せ用語である共有情報を修正するだけで、その修正内容がすべての文書に自動的に反映されるので、文書の修正を自動的に効率よく行うことが可能になる。また、HyTimeを用いることにより、リンクをKEYからの相対的な位置として記述することが可能なため、テンプレートとなる文書を一つ作成しておけば、KEYとなるIDを変更するだけで、すべての関連情報を自動的に変更することができるため、文書作成の効率を高めることが可能になる。さらには、構造化文書として組合せ用語である共有情報を保存しておくことで、組合せ用語である共有情報の構成の変更が容易になる。例えば、図12の人物情報に各人の住所を加えるには、本図の構造化文書をSGML変換ツール等により構造変換して、構造<人>の下に構造<住所>を挿入するだけで済むため、データベースを用いた場合のスキーマの変更等と比べて、組合せ用語である共有情報の構造の変更の管理が容易である。 【0045】《実施例2》第二の実施例の構成を図15に示す。図示したように、本実施例は、第一の実施例の構成(図1)に加えて、共有情報103aおよび構造化文書103bを格納する際に上書きして格納せず、新規バージョンとして格納して、作成日時等の変更履歴を管理する版管理プログラム1501を備え、構造化文書表示・印刷プログラム110により構造化文書を表示、印刷する際は、版管理プログラム1501によって構造化文書の作成日時より以前に作成されたものの中で最新のバージョンの共有情報を取り出して、構造化文書に埋め込み表示、印刷することができるように構成したものである。すなわち、本実施例では、共有情報が変更された場合でも、編集済みの過去の文書には変更を反映させずに、編集時点での過去の共有情報を埋め込んで表示、印刷するようにしている。 【0046】例えば、過去に提出した報告書等を後から表示、印刷する際は、記載されている報告者の名前や所属などを提出時の情報で出力する必要がある。逆に、プロジェクトに用いる用語の場合は、最新の改訂情報を編集済みの文書にも反映させる必要がある。この二通りの整合性の管理を行うため、文書や共有情報の種類ごとにどちらの管理を行うかを予め定めておき、文書の属性情報等として格納しておく。この属性情報を参照して、表示、印刷する際の処理を変えることにより、上記二通りの整合性管理が可能となる。共有情報の変更を共有している文書に反映する場合は、構造化文書に埋め込み表示、印刷する際に、最新のバージョンの共有情報を埋め込むことで実現できる。 【0047】本実施例では、共有情報の変更を共有している文書に反映させない場合についての処理を説明する。本実施例の具体的な処理手順を、図16から図18のフローチャートを用いて説明する。その後、処理手順に従って、処理例を説明する。共有情報の編集処理手順を示す図16において、ステップ201は、第一の実施例の処理手順と同じである。 ステップ1601:ステップ201において編集された共有情報103aを、共有情報格納プログラム106により2次記憶装置103に格納する際には、上書きして格納せず、版管理プログラム1501に制御を渡し、版管理プログラム1501を用いて新規バージョンの文書とし、該文書を格納する。版管理プログラム1501は、編集されたすべてのバージョンの文書のバージョン番号や作成日時などのバージョン情報103cを2次記憶装置103に格納し、そして、編集されたすべてのバージョンの文書とバージョン情報103cの対応をとった後、編集されたバージョンの文書を2次記憶装置103に格納する。これにより、バージョン番号を指定することで、任意のバージョンの共有情報を後から取り出すことができる。 【0048】次に、ステップ201からステップ1601とは独立に、次の手順に従い構造化文書の編集処理が実施される。処理手順を示す図17において、ステップ301からステップ303までは、第一の実施例の処理手順と同じである。 ステップ1701:ステップ303において編集された構造化文書103bを、構造化文書格納プログラム109により2次記憶装置103に格納する際は、上書きして格納せず、版管理プログラム1501を用いて新規バージョンの文書として格納する。版管理プログラム1501は、編集されたすべてのバージョンの文書のバージョン番号や作成日時などのバージョン情報103cを2次記憶装置103に格納し、そして、編集されたすべてのバージョンの文書とバージョン情報103cの対応をとった後、編集されたバージョンの文書を2次記憶装置103に格納する。これにより、バージョン番号を指定することで、任意のバージョンの構造化文書を後から取り出すことができる。 【0049】さらに、構造化文書103bを表示、印刷する場合は、図18のフローチャートに従い処理が実行される。本図の処理は、共有情報の各バージョンのうち、表示、印刷する構造化文書の作成日時より以前に作成されたものの中で、最新のバージョンの共有情報の内容を構造化文書に埋め込んで、表示、印刷するためのものである。 【0050】ステップ1801:版管理プログラム1501により、表示、印刷する構造化文書の作成日時を取得する。この作成日時をTIME1とする。 ステップ1802:版管理プログラム1501により、構造化文書に埋め込まれる共有情報のバージョン情報103cを取得する。 ステップ1803:版管理プログラム1501により、共有情報の最新バージョンの作成日時を取得する。この作成日時をTIME2とする。 ステップ1804:TIME2がTIME1より以前であれば、ステップ1805に進み、TIME2がTIME1より以前でなければ、構造化文書にリンクを記述した時点より後で作成されたバージョンの共有情報であるので、一つ前のバージョンの作成日時を取得する。この作成日時をTIME2に置き換え、ステップ1804に戻る。 ステップ1805:TIME2がTIME1より以前ならば、構造化文書にリンクを記述した時点での共有情報であるので、そのバージョンの共有情報を取得する。 ステップ1806:構造化文書表示・印刷プログラム110によって、ステップ1805で取得したバージョンの共有情報の内容を構造化文書に埋め込んで、構造化文書を表示、印刷する。 【0051】(処理例3)本実施例の具体的な処理例として、図19から図22の文書を例にとり、図16、図17および図18のフローチャートに従って説明する。 ステップ1601:ステップ201において編集された共有情報を、共有情報格納プログラム106により2次記憶装置103に格納する際には、版管理プログラム1501を用いて、新規バージョンとして格納する。例えば、人"平成太郎"の所属が変わったので、図11の人物情報の共有情報1101を図19のように編集したとする。図11に示した人物情報の共有情報1101がV1.0として、編集後の人物情報の共有情報1901がV2.0として格納される。また、版管理プログラム1501により、図20のような作成日時等のバージョン情報2001が格納される。 【0052】構造化文書を編集する処理例を以下に示す。 ステップ1701:ステップ303において編集された構造化文書を、構造化文書格納プログラム109により2次記憶装置103に格納する際は、版管理プログラム1501を用いて、新規バージョンとして格納する。例えば、図14の構造化文書1401を図21のように編集して別の報告書を作り、各バージョンの構造化文書および図22のような作成日時等のバージョン情報2201を格納したとする。図22に示すように、V1.0の構造化文書1401は"1996.5.15,9:00"に作成され、その時点で挿入した共有情報はV1.0である。共有情報は、図20に示すように"1996.8.21,15:30"に編集され、新たなバージョンV2.0として格納されている。したがって、V2.0の構造化文書2101はその後の"1996.11.20,16:30"に作成されているので、その時点で挿入される共有情報はV2.0となる。 【0053】さらに、図14および図21構造化文書を表示、印刷する場合を例にとり、図18のフローチャートに従い処理を説明する。 ステップ1801:版管理プログラム1501により、表示、印刷する構造化文書の作成日時を取得する。この作成日時をTIME1とする。図14の構造化文書1401の場合は、TIME1に"1996.5.15,9:00"が代入される。図21の構造化文書2101の場合は、TIME1に"1996.11.20,16:30"が代入される。 ステップ1802:版管理プログラム1501により、構造化文書に埋め込む共有情報のバージョン情報を取得する。図20の共有情報のバージョン情報2001が取得される。 ステップ1803:版管理プログラム1501により、共有情報の最新バージョンの作成日時を取得する。この作成日時をTIME2とする。ここでは、TIME2に"1996.8.21,15:30"が代入される。 ステップ1804:TIME2がTIME1より以前でなければ、構造化文書にリンクを記述した時点より後で編集された共有情報であるので、一つ前のバージョンの作成日時を取得する。この作成日時をTIME2に置き換え、ステップ1804に戻る。図14の構造化文書1401の場合は、TIME2がTIME1の以降なので、一つ前のバージョンV1.0の作成日"1996.4.1,10:00"をTIME2に置き換える。この時点でTIME2がTIME1より以前となる。図21の構造化文書2101の場合は、TIME2がTIME1より以前である。 ステップ1805:TIME2がTIME1より以前ならば、構造化文書にリンクを記述した時点での共有情報であるので、そのバージョンの共有情報を取得する。図14の構造化文書1401の場合は、V1.0のバージョンが取得される。図21の構造化文書2101の場合は、V2.0のバージョンが取得される。 ステップ1806:表示・印刷プログラム110によって、ステップ1805で取得した共有情報の内容を構造化文書に埋め込み、構造化文書を表示、印刷する。図14の構造化文書1401の場合は、V1.0の共有情報の内容が埋め込まれるので、所属の欄は、構造化文書作成時の内容である"開発部12グループ"となる。図21の構造化文書2101の場合は、V2.0の共有情報の内容が埋め込まれるので、所属の欄は、構造化文書作成時の内容である"開発部16グループ"となる。 【0054】以上のステップにより、過去に作成した構造化文書を表示、印刷する場合に、その構造化文書を作成した時点での共有情報を埋め込むことが可能になる。ただし、構造化文書をコピーして編集し、別の文書を作成した場合は、共有情報へのリンクの記述を変更することなく、自動的にその時点での共有情報が埋め込まれるため、文書の再利用が容易となることは明らかであろう。なお、埋め込まれる共有情報として、上記のようなバージョンの選択を必要とする人物情報のような共有情報と、常に最新のバージョンが選択される用語のような共有情報とが混在する構造化文書の場合には、構造化文書中のリンクの部分にフラグを設け、人物情報の場合にはフラグを立てておき、用語の場合にはフラグを立てないでおき、表示・印刷時に、フラグが立っている場合には、図18のフローのように処理してバージョンを選択して共有情報を埋め込み、フラグが立っていない場合には、最新のバージョンを選択して共有情報を埋め込むようにすることができる。 【0055】また、実施例1や実施例2に示したような、用語や人の名前、所属などを組み合わせた人物情報のような組合せ用語などの他に、共有情報として情報の種類別に格納し、一覧表示して、構造化文書間で共有すると有効なものには様々なものがある。HyTimeを用いると、画像データや音声データへのリンクを記述することも可能なので、例えば、個人の写真情報(画像データ)や一言自己紹介(音声データ)などを、人に関連づけて格納しておけば、論文などの筆者紹介や、World Wide Webでのホームページ等、様々な文書に利用することが容易になる。また、本発明によれば、こういった写真情報等をある期間ごとにバージョンアップして格納しておき、論文などの過去の文書を表示、印刷する場合は文書を作成した時点での情報を、ホームページには最新情報を埋め込むことなどが可能になるため、より柔軟な情報の再利用が可能になる。 【0056】《実施例3》実施例2では、共有情報が編集された時に、共有情報へのリンクが記述された編集済みの過去の文書には変更を反映させたくない場合に、構造化文書作成時の共有情報を埋め込むことで、正しく構造化文書を表示、印刷することを実現している。 【0057】本実施例では、共有情報が編集された時に、共有情報へのリンクが記述された編集済みの過去の文書にも変更を反映させたい場合に、共有情報の変更の影響でリンクの対応関係がずれても、正しく構造化文書を表示、印刷することを目的としている。 【0058】まず、リンクの対応関係がずれてしまうという問題について説明する。例えば、図26に示すような、V1.0である共有情報2601を編集して、V2.0として共有情報2602が作成された場合を例に取る。図26は人物情報を表す共有情報で、V2.0では、V1.0の情報に<氏名番号>という構造2603,2604が追加されている。また、"平成太郎"の所属と内線である文字列が変更されている。この図26の共有情報がV2.0に編集される前にV1.0の共有情報2601へのリンクを記述した、図27のような構造化文書2700がある場合を考える。構造化文書2700は、実施例1の処理例2で示した図13の構造化文書と同様に、HyTimeの記法に従ってリンクが記述されていて、リンクをKEYからの相対的な位置として記述している。 【0059】まず、2701で、"person_dic.sgm"というファイル名で格納されている図26の共有情報2601へのENTITY参照を記述する。"person_dic.sgm"という文書2601がperson_dicというENTITY名で参照できるようになる。2704は、"person_dic.sgm"の中のIDである"taro"を持つ構造を、"person_ref"(2709)というIDを用いて参照できるようにしている。2705は、HyTimeのtreelocという記法を用いて、"person_name_ref"(2710)というIDが、"person_ref"という構造から見て、自分自身の1番目の子供の構造を表すよう記述している。すなわち、"平成太郎"という内容を持つ構造<名前>を表す。<treeloc>の下の<marklist>の内容である最初の"1"が自分自身、次の"1"が1番目の子供という意味である。同様に2706は、"person_belong_ref"(2711)というIDが、"person_ref"という構造から見て2番目の子供の構造を表し、2707は、"person_tel_ref"(2712)というIDが、"person_ref"という構造から見て3番目の子供の構造を表すよう記述している。それぞれのIDは、文書内からIDREF参照することができるため、それぞれ<TERM>の属性値として定義している。以上のように記述した構造化文書を表示・印刷プログラム110によって、ステップ401からステップ402に従い表示すると、図28のように、名前"平成太郎"、所属"開発部12グループ"、内線"1111"等、リンクとして記述された共有情報の内容が構造化文書に埋め込まれ、レイアウト表示される。 【0060】この構造化文書2700を、共有情報2601をV2.0に編集した後、表示・印刷する場合は、実施例1に示した方式では次のような問題点が出てくる。構造化文書2700は自己紹介を記述する文書であるため、表示・印刷する場合は、常に最新の情報が表示されるべきである。そこで、最新の共有情報2602を構造化文書に埋め込んで表示しようとすると、リンクがKEYからの相対的な位置として記述されているため、図29のように表示されてしまう。すなわち、構造化文書2700で、所属はID"taro"を持つ構造からみて、2番目の子供であると定義しているが、V2.0の共有情報では新たな構造が挿入されたことにより、2番目の子供ではなくなってしまったため、リンクがずれてしまっている。図29では、最新の共有情報2602でID"taro"を持つ構造の2番目の子供である<氏名番号>の内容が、所属の内容として表示されている。同様に、内線の表示もずれてしまっている。 【0061】本来は、リンク先は、作成時と同じ構造を指し、その内容は最新のものになるように表示されることが望ましい。また、リンクを相対位置でなく、構造IDなどを使って絶対位置で記述することで、上記問題は回避することができるが、この方式では、実施例1の処理例2で示したKEYを変更するだけで、関連する情報をすべて自動的に修正できるという効果がなくなってしまう。 【0062】このように、共有情報へのリンクを記述した構造化文書に、最新の共有情報の内容を埋め込み、かつ、構造はずれないようにすることを実現するために、本実施例では図23の構成を取る。図示したように、本実施例は、第二の実施例の構成(図15)に加えて、構造化文書を作成した以降に共有情報が編集されて、共有情報の文字列や構造が変更されている場合に、該共有情報から整合性処理済み共有情報を生成する整合性処理プログラム2301を備え、構造化文書表示・印刷プログラム110により該整合性処理済み共有情報を構造化文書に埋め込んで表示、印刷することができるように構成したものである。整合性処理プログラム2301によって生成される整合性処理済み共有情報とは、文字列や構造を変更した後の共有情報に対して、文字列は変更後の内容そのままで、構造の変更は構造化文書を作成した時の状態に戻したものであり、これを構造化文書に埋め込むことで、文字列の内容は変更が反映され、かつ正しく元のリンクの関係が維持できるようにしたものである。 【0063】本実施例の具体的な処理手順を、図24から図25のフローチャートを用いて説明する。その後、処理手順に従って、処理例を説明する。共有情報の編集処理手順、構造化文書の編集処理手順は、実施例1で示した、ステップ201からステップ202、ステップ301からステップ304と同じである。構造化文書の表示は、図24に示すように、次の手順に従い処理を行う。 ステップ2401:2次記憶装置103から、版管理プログラム1501により、表示、印刷する構造化文書を取得する。 ステップ2402:構造化文書に最新のバージョンの共有情報を埋め込んで表示・印刷する場合は、整合性処理プログラム2301により、最新の共有情報に対して整合性処理を行い、整合性処理済み共有情報を生成する。詳細は後述するステップ2501からステップ2504で説明する。最新のバージョンを埋め込まない場合は、ステップ2404を行う。 ステップ2403:ステップ2402で生成された整合性処理済み共有情報の内容を、構造化文書中にリンクとして記述された箇所に埋め込み、構造化文書表示・印刷プログラム110によってこれを表示、印刷する。 ステップ2404:構造化文書に最新のバージョンの共有情報を埋め込んで表示・印刷しない場合は、版管理プログラム1501により、実施例2に示したステップ1801からステップ1805と同様の手順で、構造化文書作成時の共有情報を取得する。 ステップ2405:ステップ2404で取得した共有情報の内容を、構造化文書中にリンクとして記述された箇所に埋め込み、構造化文書表示・印刷プログラム110によってこれを表示、印刷する。 【0064】次に、ステップ2402に示した、整合性処理プログラム2301により、最新の共有情報に対して整合性処理を行い、整合性処理済み共有情報を生成する処理手順を、図25のフローチャートを用いて詳細に説明する。 【0065】ステップ2501:最新の共有情報を版管理プログラム1501により取得する。 ステップ2502:構造化文書作成時の共有情報を、実施例2に示したステップ1801からステップ1805と同様の手順で、版管理プログラム1501により取得する。 ステップ2503:ステップ2501で取得した最新の共有情報と、ステップ2502で取得した構造化文書作成時の共有情報を比較して、構造の変更箇所を抽出する。 ステップ2504:ステップ2503で構造の変更箇所が抽出された場合、共有情報へのリンクのずれが生じる可能性があるため、最新の共有情報に対して、構造の変更を構造化文書作成時の状態に戻すように修正して、整合性処理済み共有情報を生成する。まず、構造の変更を作成時の状態に戻すため、最新の共有情報において、作成時の共有情報に構造が新規に追加されていれば、最新の共有情報からこれを削除する。逆に、構造が削除されていれば、作成時の構造を最新の共有情報に追加する。構造の入れ替えは、構造の削除と挿入が行われたとみなし、同じように修正する。このように修正された最新の共有情報を、整合性処理済み共有情報と呼ぶ。 【0066】(処理例4)実施例の具体的な処理例として、図26の共有情報と図27の構造化文書を例にとり、図24、図25のフローチャートに従って説明する。 ステップ2401:2次記憶装置103から、版管理プログラム1501により、表示、印刷する構造化文書を取得する。この場合、図27の構造化文書が取得される。 ステップ2402:構造化文書に最新のバージョンの共有情報を埋め込んで表示・印刷する場合は、整合性処理プログラム2301により、最新の共有情報に対して整合性処理を行い、整合性処理済み共有情報を生成する。 【0067】ステップ2402の処理例を、図25のフローチャートを用いて詳細に説明する。 ステップ2501:最新の共有情報を版管理プログラム1501により取得する。図26のうち、最新であるV2.0の共有情報2602が取得される。 ステップ2502:構造化文書作成時の共有情報を、実施例2に示したステップ1801からステップ1805と同様の手順で、版管理プログラム1501により取得する。図27の構造化文書2700は、共有情報V2.0に編集される前に作成されているので、この場合、V1.0の共有情報2601が取得される。 ステップ2503:ステップ2501で取得した最新の共有情報と、ステップ2502で取得した構造化文書作成時の共有情報を比較して、構造の変更箇所を抽出する。構造の変更箇所を抽出する方法は、いくつか考えられるが、本処理例としては、構造化文書を比較するプログラムで差分抽出を行う方法を例に取る。ステップ2501とステップ2502で取得したV1.0とV2.0の共有情報を差分抽出した結果を図30に示す。図30に下線で示した3003と3004が、文字列として変更した箇所であり、斜線で示した3005と3006が構造の変更箇所である、と抽出されている。 ステップ2504:ステップ2503で構造の変更箇所が抽出された場合、共有情報へのリンクのずれが生じる可能性があるため、最新の共有情報に対して、構造の変更を構造化文書作成時の状態に戻すように修正して、整合性処理済み共有情報を生成する。図30により、最新の共有情報では、3005と3006で示される構造が、新規に追加されていることが分かる。そこで、作成時の状態に戻すため、最新の共有情報からこれを削除する。このように修正した整合性処理済み共有情報を図31に示す。図31では、新規に挿入された構造<氏名番号>は削除されている。また、文字列が変更されていた箇所は、そのまま最新の内容3102になっている。 【0068】ステップ2403:ステップ2402、すなわちステップ2501から2504で生成された整合性処理済み共有情報の内容を、構造化文書中にリンクとして記述された箇所に埋め込み、構造化文書表示・印刷プログラム110によってこれを表示、印刷する。図31の整合性処理済み共有情報を、図27の構造化文書に埋め込み表示した例を図32に示す。図32に示すように、作成時にリンク先として記述した構造がずれることなく、かつ、共有情報の内容は最新のものとなってレイアウト表示される。 【0069】なお、最新のバージョンを埋め込まない場合は、ステップ2404から2405の処理が行われるが、これは実施例2の処理と同じであるため、ここでは省略する。以上のステップにより、共有情報が編集され、その共有情報を共有している文書にその変更結果を反映させる場合に、文書と共有情報のリンクの対応関係はずれることなく、最新の内容を反映させることが可能となる。 【0070】 【発明の効果】本発明によれば、頻繁に用いられる共有情報へのリンクを、容易に構造化文書中に記述することが可能となる。これにより、用語や名前、所属などの情報の表記の統一や、その修正を自動的に参照文書へ反映させることが簡単に行えるようになるため、文書の編集や修正を効率よく行うことができるようになる。また、共有情報を構造化文書として格納することで、データベース管理システムのような複雑な方法を用いなくとも、関連した情報を管理し、その関連情報を用いて効率的に文書の編集行うことができるようになる。また、SGML変換ツール等を用いて共有情報の構造変換を行うことで、共有情報の構成の変更が可能なため、データベースを用いた場合のスキーマの変更と比べて、共有情報の構造の変更の管理が容易になる。さらに、構造化文書を表示、印刷する際に、その構造化文書を作成した時点での共有情報を埋め込むことが可能になるため、その部品を共有している文書に共有情報の変更を反映したい場合と、編集済みの過去の文書には変更を反映させたくない場合の、二通りの整合性の管理が実現でき、柔軟な文書の再利用が可能になる。さらには、共有情報が編集され、その共有情報を共有している文書にその変更結果を反映させる場合に、文書と共有情報のリンクの対応関係はずれることなく、最新の内容を反映させることができるため、共有情報の整合性の管理を容易に行うことができ、より柔軟に情報を共有することが可能になる。
|
| 【出願人】 |
【識別番号】000005108 【氏名又は名称】株式会社日立製作所
|
| 【出願日】 |
平成10年(1998)4月13日 |
| 【代理人】 |
【弁理士】 【氏名又は名称】笹岡 茂 (外1名)
|
| 【公開番号】 |
特開平11−85750 |
| 【公開日】 |
平成11年(1999)3月30日 |
| 【出願番号】 |
特願平10−117803 |
|