JP5169505B2 - 文書合成システム及びプログラム - Google Patents
文書合成システム及びプログラム Download PDFInfo
- Publication number
- JP5169505B2 JP5169505B2 JP2008148328A JP2008148328A JP5169505B2 JP 5169505 B2 JP5169505 B2 JP 5169505B2 JP 2008148328 A JP2008148328 A JP 2008148328A JP 2008148328 A JP2008148328 A JP 2008148328A JP 5169505 B2 JP5169505 B2 JP 5169505B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- structured document
- structured
- content
- added
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、文書合成システム及びプログラムに関する。
複数人が独立的かつ分散的に一つの文書を構成し編集する共同編集を支援する方法は従来知られている (特許文献1及び2参照)。
この場合、全体の構成に責任を持つ文書構成編集者(以下、構成編集者)は、各内容部分(「文書部品」と呼ぶ)の編集に責任を持つ文書内容編集者(以下、内容編集者)の作業を特定の時点で中断させ、作成・編集した文書部品を集約し、発行のための文書を作成する作業を行うのが一般的である。
従来技術では、文書の一貫性を保つために、文書データベースには、内容編集者が、構成編集者が作成した章立て構造の中で自分の担当箇所として指定された文書部品を指定し、排他的に編集する機構が必要であった。そうでなければ、内容編集者は、編集後の文書部品を文書データベースに書き戻す際に、その文書がその章立て構造のどの部分に相当するかを指定する必要があった。そのような指定の操作は、面倒であり間違いが発生する可能性がある。特に文書部品が紙文書のスキャン画像や写真である場合に、元の章立て構造の位置との対応付けを知ることが困難であり、より顕著な課題となる。
また、従来技術では、構成編集者が所定の章立てを変更し、または、章立て見出しを編集するタイミングは、一般に内容編集者が文書部品の作成または編集を完了し、構成編集者がそれを収集して構成を編集するときに制限される。すなわち、内容編集者による文書部品の作成・編集と構成編集者による構成の編集が並行的に実行できないので効率が悪い。
また、内容編集者が文書部品を作成した後に構成編集者が文書部品を集約し構成を編集して章立て順序や構造、章見出しなどを変更すると、その後内容編集者が自分の担当する文書部品の内容を変更した場合に、章立て構造が変更されたあとなので、正しい場所に変更後の内容を反映することが困難となる。このような場合、従来技術では、構成編集者が編集を完了した文書から、内容編集者が該当箇所を特定し、文書部品を独占的に取り出して編集し、書き戻すなどの手順が必要であり、効率が悪い。
本発明は、情報処理装置から、第1の構造化文書に対して行われた操作の種類と、当該操作の結果である第2の構造化文書と、を受信した場合に、前記操作の種類と前記第2の構造化文書とを対応づけて記憶装置に登録すると共に、前記第2の構造化文書が前記第1の構造化文書の子であることを示す派生関係を前記記憶装置に登録する登録手段と、前記記憶装置に記憶された派生関係群がなす木構造のうちユーザから指定された構造化文書を含む木に属する構造化文書であって、対応する操作の種類が文書内容の更新に該当する構造化文書を特定する特定手段と、前記指定された構造化文書に含まれる各文書部品の部品識別子を特定し、それら各部品識別子を持つ構造化文書を前記特定手段が特定した構造化文書群の中から検索する検索手段であって、前記特定手段が特定した構造化文書群の中に同じ部品識別子を持つ構造化文書が複数あった場合はそれら複数のうち前記木において最も葉に近いものを検索することを特徴とする検索手段と、前記検索手段が検索した前記各部品識別子を持つ構造化文書を、前記指定された構造化文書における前記各部品識別子に対応する要素に組み込むことで、合成文書を生成する生成手段と、を備える文書合成システムを提供する。
本発明によれば、文書の構成の編集と、その文書を構成する各文書部品の内容の編集とを並行的に実行した場合でも、それら各文書部品を合成した文書を生成することができる。
図1は、文書管理システムの概略構成の一例を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク30を介して接続された文書管理サーバ10とクライアント端末20−1,20−2,・・・(以下、クライアント端末20と総称する)から構成される。
クライアント端末20の例について図2を用いて説明する。クライアント端末は、ユーザが文書を操作するために用いる端末であり、パーソナルコンピュータ、デジタル複写機などがその一例である。クライアント端末20は、図2に示すように、文書操作部200及び登録処理部210を備える。
文書操作部200は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示(ユーザから見れば「閲覧」)、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図では、文書操作部200を1つだけ示したが、それら個々の操作を別々の操作部(例えば、編集用のアプリケーション、読取制御用のアプリケーションなど)が担当してもよい。例えば、文書操作部200がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部200は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部200は、文書に対して操作を行った場合、その操作の結果を表す識別子(ID)付き文書300を出力する。
ID付き文書300は、図3に示すように、メタ情報310と文書内容320を含んだ電子文書である。文書内容320は、文書操作部200の操作の結果生成された文書の内容データである。文書操作部200が電子文書を作成・編集するためのソフトウエアであれば、文書内容320はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部200が電子文書を印刷する装置であれば、文書内容320は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部200が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容320は、例えば、その紙文書を読み取って得られる画像データとすればよい。
メタ情報310は、文書管理のための情報であり、操作ID312,親ID314,及びログ情報316を含む。
操作ID312は、当該ID付き文書300自体の一意な識別情報である。親ID314は、当該ID付き文書300の親のID付き文書の操作IDである。すなわち、本実施形態では、あるID付き文書と、このID付き文書に対して操作を加えた結果得られる新たなID付き文書とを、親と子の関係として取り扱う。第1のID付き文書を操作して第2のID付き文書が得られた場合、第1のID付き文書は第2のID付き文書の親であり、第2のID付き文書は第1のID付き文書の子である。したがって、例えば、操作ID「A」のID付き文書を文書操作部200で操作して、その結果得られた新たなID付き文書の操作IDが「B」である場合、後者のメタ情報310における操作ID312は「B」であり、親ID314は「A」である。このような親子の関係を、以下では「(操作IDの)派生関係」という。
なお、本システムに未登録の電子文書を新たに登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合(この場合、紙文書を読み取った画像を文書内容とするID付き文書が生成され、本システムに登録される)に生成されるID付き文書300では、親ID314は空(すなわち、親は存在しない)となる。
ログ情報316は、当該ID付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた時刻、その操作の種別、その操作を指示したユーザ(操作者)などがあるが、もちろんこれに限るものではない。操作の種別には、例えば新規登録(本システムに新規の文書を登録すること)、閲覧、内容更新(文書の内容を変更する操作)、改訂、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部200を用いて第1のID付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第2のID付き文書のログ情報316は、編集完了の時刻と、その編集を指示したユーザの識別情報と、操作の種別として「内容更新」と、を含んだものとなる。また、「改訂」は、この例では、文書構成を更新する場合の操作を指している。なお、「内容更新」と「改訂」とは、構造化文書の内容記述を編集する点では共通である。これら両者の区別は様々な方法で実現できる。例えば、内容更新と改訂とを別のコマンドで呼び出すようにすれば両者の区別は当然に実現できる。また、両者を同じ編集プログラムで実現した場合でも、編集を行ったのが構成編集者であれば操作種別は「改訂」とし、内容編集者であれば「内容変更」とするように、ユーザ種別に応じて区別してもよい。
なお、文書操作部200が、操作した文書を暗号化してもよい。この暗号化は、本システムに準拠した文書操作部200ならば、復号できるようなものとする。この場合、文書操作部200が出力するID付き文書300の文書内容320は、暗号化されることにより、本システムに準拠した文書操作部200でないと復号できなくなる。したがって、ID付き文書300が操作される場合には文書操作部200が用いられるので、文書操作部200がその操作を検知し、その操作の内容が文書操作部200から文書管理サーバ10に通知される。なお、文書内容320だけでなく、後述するメタ情報310(またはその一部)に対しても暗号化を施してもよい。
図2の説明に戻り、文書操作部200は、操作結果として上述のようなID付き文書300を作成するために、ID割り当て部202及びメタ情報組込部204を備える。ID割り当て部202は、操作結果のID付き文書300に一意な操作IDを付与する手段である。操作IDは、少なくとも本システム内で一意な識別情報である必要がある。例えば、操作の結果生成するID付き文書300(ただし操作ID312を除いたもの)のハッシュ値を求め、このハッシュ値をその文書300のID付き文書とすればよい。ハッシュ関数としてSHA-256(SHA-256はNISTがFIPS180-2で定めた256ビットのハッシュ値を持つ暗号学的ハッシュ関数である)などのような耐衝突性を持つ暗号学的ハッシュ関数を用いれば、実用上十分な一意性を持つ操作IDを生成することができる。もちろん、システム内で一意な操作IDを各クライアント端末20で生成する方法は、これに限らない。操作IDを、クライアント端末20固有の識別情報を含むものとすれば、システム内で一意な操作IDを各クライアント端末20で生成することができる。
メタ情報組込部204は、操作結果の文書に対しID割り当て部202が割り当てた新たな操作ID312と、その操作の元になった親文書の操作IDである親ID314(新規登録の場合は、親IDは無し)と、その操作についての履歴を表すログ情報316と、を含むメタ情報310を生成する。そして、メタ情報組込部204は、そのメタ情報310を操作結果の文書内容に付加することにより、操作後のID付き文書300を生成して出力する。
登録処理部210は、文書操作部200が出力したID付き文書300を文書管理サーバ10に登録するための処理を実行する。このように各クライアント端末20が、自ら実行した操作の結果であるID付き文書300を文書管理サーバ10に登録することにより、文書管理サーバ10は各ID付き文書300間の派生関係を把握することができる。
文書操作部200が操作の結果出力するID付き文書300は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。他の人からID付き文書300を受け取った人が、自分のクライアント端末20の文書操作部200を用いてそのID付き文書300を操作すると、その操作に応じて新たな操作IDを付与されたID付き文書が生成されることになる。
また、文書操作部200が電子文書を印刷する場合、操作IDを生成し、その電子文書の印刷結果にその操作IDを埋め込んでもよい。操作IDの埋め込みは、例えば電子文書の印刷画像に、操作IDを示すコード画像を重畳する等の方法で行うことができる。この場合、文書操作部200は、その操作IDや操作種別「印刷」等のメタ情報を含んだID付き文書を文書管理サーバ10に登録する。なお、ID付き文書を印刷した場合には、そのID付き文書の操作IDを親ID314として含んだID付き文書が生成される。印刷操作に対応するID付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データなどの印刷データを、文書内容320として組み込んでもよい。
また、操作IDが埋め込まれた紙文書を文書操作部200が読み取った場合、文書操作部200は、その読み取り操作に対して新たな操作IDを付与し、読み取り結果の画像を文書内容320として含んだID付き文書を生成して文書管理サーバ10に登録する。このID付き文書の親ID314には、紙文書から読み取った操作IDがセットされる。操作IDが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。
次に、文書管理サーバ10の例について説明する。文書管理サーバ10は、システム内の複数のクライアント端末20から送られてくるID付き文書300を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。図4に示すように、文書管理サーバ10は、文書実体DB100,文書属性DB105,派生関係DB110,文書登録部130,要求処理部140を備える。
文書実体DB100は、クライアント端末20から送られてきたID付き文書300のうちの文書内容320を格納するデータベース(DB)である。文書実体DB100に格納された各文書内容320は、一意な内容IDにより管理される。内容IDとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末20が内容IDを付与してもよく、この場合、内容IDをメタ情報310に組み込んでもよい。
文書登録部130は、クライアント端末20から受信したID付き文書の中の文書内容320を文書実体DB100に登録する。また文書登録部130は、そのID付き文書の中のメタ情報310のうち、文書属性に関するログ情報316を文書属性DB105に、派生関係の情報(操作ID312及び親ID314)を派生関係DB110に、それぞれ登録する。そのうち、メタ情報の登録を担当するのがメタ情報登録部132である。
文書属性DB105は、ID付き文書300のうち、文書属性を表すログ情報316を蓄積するデータベースである。図5に、文書属性DB105のデータ内容の一例を示す。図5に示した表における1行の情報が、1つのID付き文書300に対応する文書属性レコードである。この例では、各ID付き文書300の操作IDに対応づけて、操作種別、操作者のユーザID、操作日時、部品ID、ユーザ種別の各項目が登録されている。また、図示は省略しているが、文書実体DB100で各文書内容のデータを内容IDで管理している場合には、文書属性レコードには、当該ID付き文書の文書内容の内容IDも含まれる。
部品IDは、当該ID付き文書の文書内容に含まれる各文書部品の識別情報である。すなわち、この実施形態では、文書管理サーバ10が管理する電子文書は、複数の文書部品(すなわち文書要素)が木構造の階層関係をなす構造化文書である。文書部品自体が構造化されていてももちろんよい。構造化文書は、例えば、XML(eXtensible Markup Language)やHTML(Hypertext Markup Language)等の構造記述言語で記述される。ユーザは、クライアント端末20で、個々の文書部品に部品IDを付した構造化文書を作成し、文書管理サーバ10に登録する。例えば、図6に例示する構造化文書の例(b)は、XMLで記述されており(ただし、説明を簡素化するために省略を行っている)、文書部品<CONTENT>に対し部品IDがID属性(partID)として組み込まれている。ちなみに、例(b)は、表題<TITLE>と内容<CONTENT>という部品ペアを含んだ部品<H1>を2つ含んだ構造化文書である。表題<TITLE>には、表題の文字列がテキスト属性(TEXT)の値として含まれている。この例(b)には、内容部品<CONTENT>の文字列は含まれていない。仮に例(b)の構造化文書を表示すると、図6の表示例(a)のようなものとなる。表示例(a)には、表題の文字列は示されているが、内容は空欄となっている。
ID付き文書の文書属性レコードのうちの部品IDフィールドには、その文書の文書内容320に含まれる全ての部品IDが列挙される。
ID付き文書の文書属性レコードのユーザ種別フィールドには、ユーザIDフィールド内のユーザIDを持つユーザの、文書作成業務上の種別が示される。図5の例では、ユーザ種別には「構成編集者」と「内容編集者」がある。構成編集者は文書全体の構造又は構成(例えば論理構成、あるいは論理構成を含む章立て構成)の編集を担当する者であり、内容編集者はその文書に含まれる文書部品の内容(例えば文字列、グラフィックス、スプレッドシート、写真画像など)の編集を担当する者である。この実施形態では、構成編集者がXML等で文書の構成を記述したID付き文書を作成し、各内容編集者がそのID付き文書を取得し、そのID付き文書のうち各自の担当する文書部品の内容を作成する、という枠組みで1つの文書を作成する。
以上に例示した文書属性レコードの項目は、あくまで一例に過ぎない。文書属性レコードは例示した項目を全て含んでいなくてもよいし、また例示した以外の項目を含んでいてもよい。
なお、図5は文書属性DB105が管理するデータを内容の観点から表現したものにすぎず、具体的な表現形式或いはデータベース形式を規定するものではない。例えば、文書属性DB105は、一般的なリレーショナルデータベースとして構築することもできるし、操作IDを除くメタ情報を記述したXML文書を、操作IDをキーとして登録したデータベースとして構築することもできる。
以上、文書属性DB105について説明した。メタ情報登録部132は、クライアント端末20からID付き文書300を受信した場合、文書属性DB105にその文書300のためのレコードを作成し、そのレコードの各項目にその文書300中のログ情報316に含まれる各項目の値を登録する。
派生関係DB110は、ID付き文書間の派生関係(親子関係)の情報を記憶するデータベースである。派生関係DB110に登録されたデータ内容の一例を図7に示す。図7の例では、ID付き文書の操作IDに対応づけて、その文書から派生した子のID付き文書の操作ID(図では「子ID」と表記)のリストが登録されている。例えば、操作ID312が“ID2”で親ID314が“ID1”であるID付き文書300が入力された場合、メタ情報組込部204は、派生関係DB110の操作ID“ID1”のレコードの子IDのリストに、その文書300内の操作ID312の値“ID2”を追加する。図7に例示したデータ内容は、図5に例示した文書属性レコード群に対応している。なお、図7のようなデータ構造は一例に過ぎない。例えばこの代わりに、ID付き文書の操作IDに対応づけてその文書の親文書の操作ID(親は必ず1つである)を保持するデータ構造を用いてもよい。また、それら両方を派生関係DB110に記憶するようにしてもよい。
図7に示した派生関係DB110のデータ内容は、図8のような木構造を成す。これは、操作IDをノードとし、操作ID間の親子関係をエッジとする木構造である。
図5,図7及び図8の例が示す文書の履歴を時系列順に説明すると、以下のようになる。この例は、複数の文書部品を含む1つの文書を複数人が共同編集する作業を文書管理サーバ10により実現する例である。
この例では、まず構成編集者であるユーザ1が、自分のクライアント端末20で、これから内容編集者達と共に共同編集しようとする文書の構成を例えばXMLで記述した電子文書を作成する。作成された電子文書は、操作ID“ID1”を付与され、文書管理サーバ10に登録される(図5の最初のレコード参照)。ここでは、この文書“ID1”が図6に例示した構造化文書であるとする。この場合文書属性レコードの部品ID欄には、部品ID“#1”及び“#2”が記録される。なお、文書中に含まれる各文書部品の部品IDは、クライアント端末20のメタ情報組込部204及び文書管理サーバ10のメタ情報登録部132のいずれかが検出すればよい。例えば、部品IDは属性名“partID”の属性値として記述するという取り決めをしておけば、文書内容の文字列を解析して“partID”の値を検出して記録することで、文書中に含まれる文書部品の部品IDを抽出できる。なお、文書“ID1”の各部品“#1”及び“#2”の内容<CONTENT>は空である。
また、クライアント端末20又は文書管理サーバ10は、自身が持つ、あるいはネットワーク上のサーバに記憶されたユーザIDとユーザ種別の対応関係の情報を参照することで、文書に対して操作を行ったユーザに対応するユーザ種別を求めればよい。
内容編集者は、文書管理サーバ10にアクセスして、あるいは構成編集者から電子メール等を経由して、文書構成を記述したID付き文書を取得する。内容編集者は、受け取ったID付き文書の文書内容から、自分が担当する文書部品以外の文書部品を削除し、自分の担当する文書部品の内容を作成又は編集する。なお、自分が担当する文書部品以外の文書部品を削除することは、後の処理において、それぞれの担当者が編集をした文書部品を特定するために行うのであって、削除自体は本発明にとっては本質的ではなく、削除せずに文書内容中における編集された文書部品を特定することもできる。例えば編集前の文書と編集後の文書の差分を作ることで、編集箇所を特定することができる。差分を計算するアルゴリズムは、例えばE. Myers (1986). “An O(ND) Difference Algorithm and Its Variations”. Algorithmica 1 (2): 251-266.に詳しい。別の方法では、編集した文書部品に編集日時属性を付与し、編集前の文書の編集日時と比較することによって、それ以降の編集日時を持つ文書部品を編集箇所として特定することができる。
この例では、文書部品“#1”を担当するユーザ2及び文書部品“#2”を担当するユーザ3が文書“ID1”を取得する。
次にユーザ2が、自分のクライアント端末20でその文書“ID1”を開き、その文書から文書部品“#2”を削除し、文書部品“#1”の内容を作成する。この結果作成された文書は、操作ID“ID2”を付与され、文書管理サーバ10に登録される(図5の2番目のレコード参照)。ここでは文書“ID2”が図9に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図9の例(a)である。
次に、構成編集者であるユーザ1が文書“ID1”を開いて文書構成を改訂したとする。この改訂では、図10に示すように、1番目及び2番目の文書部品の表題<TITLE>の文字列を変更すると共に、3番目の文書部品“#3”を追加している。図10の例(b)は改訂された文書構成を記述した構造化文書を示し、例(a)はその構造化文書の表示例を示す。改訂された文書は、操作ID“ID3”を付与され、文書管理サーバ10に登録される(図5の3番目のレコード参照)。
次にユーザ3が、取得した文書“ID1”を開き、その文書から文書部品“#1”を削除し、文書部品“#2”の内容を作成する。この結果作成された文書は、操作ID“ID4”を付与され、文書管理サーバ10に登録される(図5の4番目のレコード参照)。ここでは文書“ID4”が図11に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図11の例(a)である。
次にユーザ4が、文書“ID3”を取得して開き、その文書から文書部品“#1”及び“#2”を削除し、文書部品“#3”の内容を作成する。この結果作成された文書は、操作ID“ID5”を付与され、文書管理サーバ10に登録される(図5の5番目のレコード参照)。ここでは文書“ID4”が図12に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図12の例(a)である。
そして、ユーザ2が、先に作成した文書“ID2”を開き、文書部品“#2”の内容を編集する。この結果内容が変更された文書は、操作ID“ID6”を付与され、文書管理サーバ10に登録される(図5の6番目のレコード参照)。ここでは文書“ID6”が図13に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図13の例(a)である。
以上、このシステムにおける文書操作の情報の登録の様子を説明した。
図4の説明に戻り、要求処理部140は、クライアント端末20からの操作IDを含んだサービス要求に応じて、文書実体DB100,文書属性DB105及び派生関係DB110を用いたサービスを提供する。
サービス要求は、クライアント端末20に保持されたID付き文書に基づき発せられる。例えば、ユーザがクライアント端末20の文書操作部200によりID付き文書を開いた場合に、文書操作部200が、派生関係を用いたサービスのメニューを提供し、そのメニューの中からユーザが所望するサービスの指定を受け付ける。そして、そのID付き文書の操作IDと指定されたサービスを示すコードとを含むサービス要求を文書管理サーバ10の要求処理部140に送信する。なお、操作IDと、サービスを示すコード以外に、指示を行ったユーザの識別情報や、ユーザの入力した認証情報などといった他の情報を、クライアント端末20から要求処理部140に送信するようにしてもよい。
また、別の例として、ID付き文書というオブジェクト種類に対して、そのようなサービスのメニューを対応づけてクライアント端末20のオペレーティングシステムに登録しておいてもよい。
また別の例として、ユーザによるサービスの指定を一つの「操作」と捉え、その「操作」に対して新たに操作IDを付与することも考えられる。この場合、指定されたサービスのコードを操作種別として含み、指定の際に用いられた元のID付き文書の操作IDを親IDとして含んだID付き文書を生成し、このID付き文書をサービス要求として文書管理サーバ10に送ってもよい。この場合、要求処理部140は、受け取ったID付き文書内の操作種別の情報に基づき提供すべきサービスを判定し、同じくID付き文書内の親IDを、派生関係を遡る処理の起点とする。
要求処理部140は、クライアント端末20からサービス要求を受けた場合、そのサービス要求中に指定された操作IDを起点に、派生関係DB110に登録された操作IDと親IDとの派生関係群が構成する木を走査(トラバース)し、その走査の結果得られた情報を用いて、ユーザから要求されたサービスを実行する。
要求処理部140が提供するサービスとして、以下では共同編集の実現のために文書部品群を合成するサービスを説明する。このサービスのために、要求処理部140は、文書合成部142及び文書検索部144を備える。文書合成部142は、複数の文書部品を合成するための処理を行う。文書検索部144は、文書合成部142から要求された文書部品を検索する。
構成編集者が自分のクライアント端末20で、文書構成を示すID付き文書(図5,図7及び図8の例では文書“ID3”)を用いて文書合成を指示すると、その指示が文書合成部142に伝わる。クライアント端末20は、例えば、当該端末20を操作しているユーザが構成編集者である場合、そのID付き文書に対する操作として「文書合成」を選択可能とするような制御を行ってもよい。この指示を受けると、クライアント端末20は、その指示に用いられた文書の操作ID(上述の例では“ID3”)を含んだ文書合成の指示を文書管理サーバ10に送る。
この指示を受け取った文書管理サーバ10は、文書合成部142を呼び出す。これに応じて文書合成部142が実行する処理手順の一例を図14に示す。
この手順では、文書合成部142は、まず、文書合成指示の対象に指定された文書(すなわち、その指示に含まれる操作IDに対応する文書。「指定文書」と呼ぶ)の文書内容を文書実体DB100から取得し、その文書内容を解析することで、指定文書の文書構成(すなわち文書部品群が構成する論理構造又は章立て構造)を求め(S1)、その文書内容の中に含まれる部品IDのリストを生成する(S2)。このリストには、共同編集文書を合成するために必要な文書部品の部品IDが列挙されることになる。例えば、指定文書が図5に示した文書“ID3”(図10の例(b)参照)であれば、このリストには部品ID“#1”,“#2”,“#3”が含まれることになる。
次に文書合成部142は、文書検索部144に対し、指定文書の文書ファミリーの収集を要求する(S3)。ここでいう文書ファミリーは、派生関係DB110に含まれる派生関係群が構成する1以上の木のうちで、指定文書が属する木に含まれるID付き文書の集合のことである。ただし、ここでは、共同編集文書の合成が目的なので、その木に含まれるID付き文書のうち、操作種別が「内容更新」に該当するものだけを収集することとし、その収集の結果できる文書の集合を文書ファミリーと呼ぶ。文書管理サーバ10に登録されるID付き文書の中には、閲覧や印刷などといった文書内容の更新を伴わない操作の結果もあるので、そのようなものは収集の対象から外すのである。また、操作種別が「改訂」であるID付き文書は文書構成を示すものであるが、共同編集文書の文書構成は指定文書から求めることができるので、そのようなID付き文書は収集する必要がない。
この収集の要求を受けた場合、文書検索部144は、派生関係DB110を参照して、指定文書を先祖に遡ることで、指定文書が属する木の根を特定する。例えば、図5,図7及び図8の例で、指定文書が“ID3”である場合、派生関係DB110(図7参照)により“ID3”の親が“ID1”と特定でき、“ID1”の親は見つからないので、“ID1”が根であると判定できる。そして、特定した根を起点に、派生関係DB110の情報を用いて、その根から伸びる木の各ノード(操作ID)を行きがけ順に巡回し、その巡回の過程で行き当たった操作IDのうち操作種別が「内容更新」であるものの文書属性と文書実体を文書属性DB105及び文書実体DB100から収集する。そして、収集した文書属性と文書実体の各ペアを、収集順序と共に記録する。文書検索部144が収集した文書ファミリーの情報の例を図15に示す。これは、図5,図7及び図8の例に対応するものである。例示のように、文書ファミリー情報に含まれる各レコードは、収集順序の番号、文書属性(「操作ID」〜「部品ID」)、及び文書実体(「内容」)を含む。文書検索部144は、収集した文書ファミリー情報を文書合成部142に渡す。
再び図14の説明に戻る。文書合成部142は、文書検索部144から文書ファミリー情報を受け取ると(S4)、収集順序の若い順にレコードを取り出し(S5)、取り出したレコード中の文書実体(「内容」)を、ステップS2で作成したリスト中の対応する部品ID(すなわち当該レコード中の部品IDと同じ値の部品ID)に関連づけて登録する(S6)。以上のステップS5及びS6の処理を、文書ファミリー情報の全レコードの処理が終わるまで繰り返す(S7)。
ここで、ステップS6では、リスト中の対応する部品IDに対応づけて既に文書実体が登録されている場合は、取得したレコード中の文書実体を既に登録されている文書実体に上書きする。収集順序は根からの行きがけ順に巡回した場合の巡回順序なので、収集された文書ファミリーに同じ部品IDのレコードが複数ある場合は、最終的には、それらレコードのうち派生関係の木において最も子孫側の操作IDに対応するレコードの文書実体がリストに残ることになる。例えば、図15の例には、部品ID“#1”のレコードが2つあるが、そのうち収集順序が最も後ろの操作ID“ID6”に対応する文書実体(「本章ではシステムの概要を説明します。…)がリストに残ることとなる。
文書ファミリー情報の全レコードについてステップS5及びS6の処理が終わると、文書合成部142は、リストに含まれる各文書部品の文書実体(内容)をステップS1で求めた文書構成における各文書部品の論理的位置に組み込むことで、共同編集結果の文書を合成する(S8)。
図5,図7,図8及び図15の例では、部品ID“#1”に操作ID“ID6”の文書実体、部品ID“#2”には操作ID“ID4”の文書実体、部品ID“#3”には操作ID“ID5”の文書実体、を組み込んだ合成文書(図16の例(b)参照)が生成される。図16の例(a)は、この合成文書の表示例を模式的に示したものである。
この例では、ユーザ2及びユーザ3が文書構成を示すID付き文書“ID1”を受け取った後に、その文書が改訂されてID付き文書“ID3”となり、文書部品が増えると共に、既存の文書部品の表題の文字列も変更される。しかし、ユーザ2及びユーザ3は、そのような変更を意識することなく、自分が取得した文書“ID1”の中で自分の担当する文書部品の文書内容を編集して、文書管理サーバ10に登録するだけでよい。表題の文字列は、文書構成を示す文書“ID3”から採られるので、ユーザ2及びユーザ3は表題の文字列を変更しなくてもよい。
以上、文書合成部142による合成処理について説明したが、このような合成処理は、特開2004−86855号公報に記載された方式や、特開2007−156965号公報に記載された方式で実現することができる。以下では、後者の方式で実現する場合の処理例を説明する。
特開2007−156965号公報には、テンプレートを用いて複数の構造化文書から必要な部分を取捨選択して1乃至複数の電子文書を組み立てるための方法が開示されている。以下では、この文献に示された処理方法のことを「テンプレート処理」と呼ぶことにする。
章立て等の文書構成を表す構造化文書は、個々の文書部品の内容に比して文書構造が定型的であり、計算機の処理で繰り返し構造を検出するのが容易である。特にXMLやSGMLのエディタを使う場合は、文書構成を表す構造化文書をDTD(文書型定義)に基づき論理構造が制限された形で編集することができる。したがって、章ごとの繰り返しを検出すことで、テンプレートと、流し込みに用いるデータとして、ディレクトリレコードを生成する。ディレクトリレコードは、文書の論理構造の表現形式の一形態であり、内容的にはXML文書又はDOMツリーで表現された構造と等価である。ディレクトリレコードの詳細については、特開2007−156965号公報を参照されたい。
この処理では、まず、ユーザから文書合成の種文書として指定された構造化文書(例えば図5,図7及び図8の例での文書“ID3”)を公知のパーサー(parser)で構文解析する。この例では、構文解析により、種文書の要素(部品)間の論理構造を示す情報として、パースツリー(parse tree)を生成する。種文書が図10の例(b)に示すものであった場合に生成されるパースツリーを図17に例示する。
次に、そのパースツリーのノード群を根から行きがけ順に巡回する際に、変換ルールを適用することで、流し込みに用いるテンプレートとディレクトリレコードを生成する。ここでは、一例として、図18に示す変換ルールセットを用いる。
変換ルールセットは1以上のルールから構成される。個々のルールは、「要素条件」、「巡回条件」、「出力文字列」、「収集する属性」、「ディレクトリ属性」の各項目を含む。
パースツリーの巡回の中でノードに到達するごとに、そのノード(注目ノードと呼ぶ)が各ルールの「要素条件」及び「巡回条件」を満たすかどうかを検査する。そして、注目ノードがあるルールの「要素条件」及び「巡回条件」を満たした場合、そのルールにおける「出力文字列」、「収集する属性」、「ディレクトリ属性」の各項目の値に従ってテンプレートやディレクトリレコードを生成する。
「要素条件」は、注目ノードが表す要素(部品)についての条件であり、ここでは要素名についての条件が示される。
「巡回条件」は、注目ノードに到達したのが巡回経路において親ノードの次である(「下行」)か、子ノードの次である(「上行」)かの条件を示す。
注目ノードがあるルールの「要素条件」と「巡回条件」の両方を満たしたときに、この生成処理では、そのルールの項目「出力文字列」をテンプレートに出力する。例えば、根の次に要素名“H1”のノードに到達した場合、要素条件「H1」かつ巡回条件「下行」が満たされるので、そのノードには図18のセットのうちの最も上のルールが適用されることになり、テンプレートには文字列“{{<H1>”が追加されることになる。
また、図18のセットの3つめのルールにおける出力文字列「TITLE TEXT=”$H1.partID$”」のうち「$H1.partID$」は、変数要素を示している。変数要素は、変数名と属性名とにより示され、その前後を「$」で囲むことで表現される。テンプレート適用の際に、変数名がノードの要素名にマッチした場合に、変数要素の属性名に合致する当該ノード(又はその子孫ノード)の属性の値が、その変数要素に代入される。すなわち、テンプレート適用の際には、「$H1.partID$」には、<H1>要素(又はその子孫)に含まれる“partID”属性の値が代入されることになる。また、図18のセットの4つめのルールにおける「$H1.body$」は内容データを表す変数要素であり、テンプレート適用の際にはその要素には<H1>要素の子孫の<CONTENT>要素に含まれる内容データの値が代入される。
「収集する属性」は、種文書に記述された注目ノードの属性のうち、ディレクトリレコードに収集する属性を指定する。この例では、「収集する属性」をXPATH(XML Path Language)で記述している。例えば、“TITLE/@TEXT”との記述は、注目ノードの子ノードのうちTITLE要素のテキスト属性を収集対象として指定したことになる。
「ディレクトリ属性」は、「収集する属性」の値をディレクトリレコード中のどのカラムに書き込むかを指定する。
例えば、図18のセットのうちの最も上のルールが満足された場合、注目ノードの子であるTITLE要素のテキスト属性がディレクトリレコードの“title”欄に、注目ノードの子であるCONTENT要素の“partID”属性がディレクトリレコードの“partID”欄にそれぞれ書き込まれることになる。
なお、この生成処理では、ルールを満たした注目ノードについて、「収集する属性」で指定された属性値に加えて、「アドレス情報(s_address)」と「要素名(s_tag)」とをディレクトリレコードに書き込む。
「アドレス情報」は、特開2007−156965号公報における「コンテキスト識別子」と同じものであり、文書のノード(要素)群がなすツリーにおいて注目ノードが占める位置を表す。「アドレス情報」は、例えば、文書の根から数えて、パス区切り記号('/')で区切った兄弟順位からなる文字列で表現できる。根は'/'で表現される。例えば、図10の例(b)に含まれる3つの要素“<H1>”はいずれも根の直下にあるので、各々のアドレス情報はその出現順に'/1','/2','/3'となる。「アドレス情報」は、ディレクトリレコードでは“s_address”欄に書き込まれる。
また、「要素名」は注目ノードの要素名であり、例えば当該要素のタグに示されるタグ名を用いることができる。文書の根の要素名は“root”とする。「要素名」は、ディレクトリレコードでは“s_tag”欄に書き込まれる。
テンプレート生成処理では、図17に例示した文書構造に対して図18に例示した変換ルールセットを適用した場合、図19に例示するテンプレートと、図20に例示するディレクトリレコードとが得られる。なお、図20のディレクトリレコードの“body”欄は、<CONTENT>要素に含まれる内容データを保持するための欄である。テンプレートを適用する際に、この欄に内容データが書き込まれる。
以上のようにして種文書(図14のステップS1で指定された指定文書)からテンプレートと、ディレクトリレコードのひな形とが生成されると、次に、文書合成部142は、ステップS4で収集された文書ファミリー(図15参照)とディレクトリレコードのひな形とをつき合わせて、ディレクトリレコードを完成させる。すなわち、文書ファミリーのレコードを収集順序の順に取り出し、取り出したレコードの「内容」欄の値を、当該レコードと同じpartIDを持つディレクトリレコード中のレコードのbody欄に書き込む。当該body欄に既に内容が書き込まれている場合は、取り出したレコードの「内容」欄の値を既に書き込まれている内容に上書きする。以上のようにして、ディレクトリレコードが完成する。図5〜図15の具体例の場合、完成したディレクトリレコードは図21に示すようなものとなる。
ディレクトリレコードが完成すると、文書合成部142は、これにテンプレートを適用することで、共同編集結果の文書を完成させる。ディレクトリレコードに対するテンプレートの適用処理では、特開2007−156965号公報の例えば段落0049〜0084に例示される処理を行えばよい。このような処理により、例えば図16の例(b)に例示したような共同編集結果の文書が生成される。
このように、以上に説明した実施の形態によれば、内容編集者は、自分の担当する文書部品を文書管理サーバ10に登録する際に、その文書部品が構造化文書中のどの部分に該当するのかを指定しなくてもよい。また、内容編集者による文書部品の作成・編集と構成編集者による構成の編集が並行的に実行できる。また、構成編集者が文書構成を改訂した後に、内容編集者が文書部品の内容を更新した場合でも、内容編集者はその更新後の文書を改訂後の文書構成のどの部分に反映させるかを指定する必要がない。
以上に例示した実施形態では、操作IDの発行は各クライアント端末20で行われていたが、この代わりに文書管理サーバ10が操作IDを発行してもよい。この場合、クライアント端末20は、ID付き文書に対して操作を行った場合、操作前のID付き文書内の操作IDを親ID314として含み、更にその操作についてのログ情報316と操作後の文書内容320とを含み、操作ID312は空欄の文書データを生成し、文書管理サーバ10に送る。文書管理サーバ10は、受け取った文書データに対して新たな操作IDを付与し、この操作IDとその文書データとに含まれる情報を、文書実体DB100及び文書属性DB105及び派生関係DB110に登録する。また、文書管理サーバ10は、付与した操作IDを当該文書データにセットすることによりID付き文書を生成し、これをクライアント端末20に返す。クライアント端末20は、操作前のID付き文書を、受け取ったID付き文書に置き換える。このように、文書管理サーバ10が操作IDを付与する構成でも、上述実施形態の処理は同様に実行できる。
また以上の実施形態では、操作ID312、親ID314、ログ情報316、及び文書内容320を含んだID付き文書300がクライアント端末20に保存されたが、この代わりに、クライアント端末20は操作IDしか持たず、その他の情報は文書管理サーバ10に保存されるようにしてもよい。この場合、クライアント端末20で文書を操作する場合、その文書に対応する操作IDを文書管理サーバ10に送り、文書管理サーバ10からその文書を取得する。
ここで、文書管理サーバ10が操作IDを付与する場合は、その取得の操作に対応する操作IDを文書管理サーバ10が生成し、その操作IDと文書とを対応づけてクライアント20に提供するとともに、その取得操作についてのログ情報(操作時刻や操作者など)と、元の操作ID(すなわち親ID)と、付与した操作IDとを派生関係DB110に記録する。クライアント端末20は、文書管理サーバ10に送信した操作IDを、受け取った操作IDに置き換えると共に、受け取った文書を開く。ユーザは、開かれた文書に対して閲覧や編集などの操作を行う。クライアント端末20は、文書に対する操作が完了すると、操作後の文書を操作ID及び当該操作についてのログ情報と共に文書管理サーバ10に送る。文書管理サーバ10は、受け取った文書に対して新たな操作IDを付与して派生関係DB110に登録し、受け取った操作IDを親IDとして派生関係DB110に登録する。また、受け取ったログ情報及び操作後の文書を、文書属性DB105及び文書実体DB100に登録する。そして、文書管理サーバ10は、新たに付与した操作IDをクライアント端末20に返す。クライアント端末20は、元の操作IDを受け取った操作IDで置き換える。以上のような処理により、操作間の派生関係が文書管理サーバ10に蓄積されることになる。
一方、クライアント端末20が操作IDを付与する構成の場合は、文書管理サーバ10は、クライアント端末20から受け取った操作IDに対応する文書をクライアントに返せばよい。クライアント端末20は受け取った文書を開き、ユーザがその文書を操作する。操作の完了後、クライアント端末20はその操作結果の文書に対して新たな操作IDを付与し、この操作IDを含んだ前述のID付き文書と同様の情報を、文書管理サーバ10に送る。そして、クライアント端末20は、そのID付き文書のうち操作IDのみを保存し、その他の情報を削除する。
以上に例示した実施の形態及び変形例における文書管理サーバ10は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図22に示すように、CPU1000等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)1002およびリードオンリメモリ(ROM)1004等のメモリ(一次記憶)、HDD(ハードディスクドライブ)1006を制御するHDDコントローラ1008、各種I/O(入出力)インタフェース1010、ローカル・エリア・ネットワークなどのネットワークとの接続のための制御を行うネットワークインターフェイス1012等が、たとえばバス1014を介して接続された回路構成を有する。また、そのバス1014に対し、例えばI/Oインタフェース1010経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ1016、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ1018、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM1002に読み出されCPU1000等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
10 文書管理サーバ、20 クライアント端末、30 ネットワーク、100 文書実体DB、105 文書属性DB、110 派生関係DB、130 文書登録部、132 メタ情報登録部、140 要求処理部、142 文書合成部、144 文書検索部、200 文書操作部、202 ID割り当て部、204 メタ情報組込部、210 登録処理部、300 ID付き文書。
Claims (2)
- 情報処理装置から、第1の構造化文書に対して行われた操作の種類と、当該操作の結果である第2の構造化文書と、を受信した場合に、前記操作の種類と前記第2の構造化文書とを対応づけて記憶装置に登録すると共に、前記第2の構造化文書が前記第1の構造化文書の子であることを示す派生関係を前記記憶装置に登録する登録手段と、
前記記憶装置に記憶された派生関係群がなす木構造のうちユーザから指定された構造化文書を含む木に属する構造化文書であって、対応する操作の種類が文書内容の更新に該当する構造化文書を特定する特定手段と、
前記指定された構造化文書に含まれる各文書部品の部品識別子を特定し、それら各部品識別子を持つ構造化文書を前記特定手段が特定した構造化文書群の中から検索する検索手段であって、前記特定手段が特定した構造化文書群の中に同じ部品識別子を持つ構造化文書が複数あった場合はそれら複数のうち前記木において最も葉に近いものを検索することを特徴とする検索手段と、
前記検索手段が検索した前記各部品識別子を持つ構造化文書を、前記指定された構造化文書における前記各部品識別子に対応する要素に組み込むことで、合成文書を生成する生成手段と、
を備える文書合成システム。 - コンピュータを、
情報処理装置から、第1の構造化文書に対して行われた操作の種類と、当該操作の結果である第2の構造化文書と、を受信した場合に、前記操作の種類と前記第2の構造化文書とを対応づけて記憶装置に登録すると共に、前記第2の構造化文書が前記第1の構造化文書の子であることを示す派生関係を前記記憶装置に登録する登録手段、
前記記憶装置に記憶された派生関係群がなす木構造のうちユーザから指定された構造化文書を含む木に属する構造化文書であって、対応する操作の種類が文書内容の更新に該当する構造化文書を特定する特定手段、
前記指定された構造化文書に含まれる各文書部品の部品識別子を特定し、それら各部品識別子を持つ構造化文書を前記特定手段が特定した構造化文書群の中から検索する検索手段であって、前記特定手段が特定した構造化文書群の中に同じ部品識別子を持つ構造化文書が複数あった場合はそれら複数のうち前記木において最も葉に近いものを検索することを特徴とする検索手段、
前記検索手段が検索した前記各部品識別子を持つ構造化文書を、前記指定された構造化文書における前記各部品識別子に対応する要素に組み込むことで、合成文書を生成する生成手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008148328A JP5169505B2 (ja) | 2008-06-05 | 2008-06-05 | 文書合成システム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008148328A JP5169505B2 (ja) | 2008-06-05 | 2008-06-05 | 文書合成システム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009294932A JP2009294932A (ja) | 2009-12-17 |
JP5169505B2 true JP5169505B2 (ja) | 2013-03-27 |
Family
ID=41543061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008148328A Expired - Fee Related JP5169505B2 (ja) | 2008-06-05 | 2008-06-05 | 文書合成システム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5169505B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120101980A1 (en) * | 2010-10-26 | 2012-04-26 | Microsoft Corporation | Synchronizing online document edits |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3725084B2 (ja) * | 2002-02-22 | 2005-12-07 | 株式会社東芝 | 構造化文書編集システム、構造化文書編集方法及びプログラム |
JP4942142B2 (ja) * | 2005-12-06 | 2012-05-30 | キヤノン株式会社 | 画像処理装置及びその制御方法、プログラム |
JP4816281B2 (ja) * | 2006-06-22 | 2011-11-16 | 富士ゼロックス株式会社 | 文書利用管理システム、文書管理サーバ及びそのプログラム |
-
2008
- 2008-06-05 JP JP2008148328A patent/JP5169505B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009294932A (ja) | 2009-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4816281B2 (ja) | 文書利用管理システム、文書管理サーバ及びそのプログラム | |
JP5023715B2 (ja) | 情報処理システム、情報処理装置及びプログラム | |
US20080270463A1 (en) | Document processing system and method therefor | |
US20130055071A1 (en) | Systems and methods for creating a customized website | |
US8645344B2 (en) | Document processing system and method therefor | |
JP4997749B2 (ja) | 文書処理方法、プログラム及びシステム | |
JP2010033227A (ja) | 文書管理装置、文書管理プログラム、及び文書管理システム | |
JP4185175B2 (ja) | 構造化文書の表示方法 | |
JP2007109180A (ja) | 文書処理装置及び方法 | |
JP3868171B2 (ja) | 文書のデジタル署名付き管理方法および文書管理装置 | |
JP5082460B2 (ja) | 情報処理装置及びプログラム及び情報処理システム | |
JP5169505B2 (ja) | 文書合成システム及びプログラム | |
US7100126B2 (en) | Electrical form design and management method, and recording medium | |
JP2003281149A (ja) | アクセス権限設定方法および構造化文書管理システム | |
JP2008181446A (ja) | 文書管理装置、情報処理装置、文書管理システム及びプログラム | |
JP3842576B2 (ja) | 構造化文書編集方法及び構造化文書編集システム | |
JP2007128520A (ja) | マニュアルの作成方法及びそのシステム | |
JP5309664B2 (ja) | 文書管理装置及びプログラム | |
JP4255538B2 (ja) | 構造化文書蓄積検索装置 | |
JP3933407B2 (ja) | 文書処理装置、文書処理方法および文書処理プログラムが格納された記憶媒体 | |
JP5200633B2 (ja) | 文書管理装置及びプログラム | |
JP2010250567A (ja) | 環境情報集計分析システム | |
JP2011043930A (ja) | 帳票処理システム、帳票処理サーバ装置、帳票処理装置、帳票処理方法、およびプログラム | |
JP5729020B2 (ja) | 情報処理装置およびプログラム | |
JP5233475B2 (ja) | 文書管理装置、文書管理プログラム、及び文書管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110520 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5169505 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |