JP2009294932A - Document composition system and program - Google Patents
Document composition system and program Download PDFInfo
- Publication number
- JP2009294932A JP2009294932A JP2008148328A JP2008148328A JP2009294932A JP 2009294932 A JP2009294932 A JP 2009294932A JP 2008148328 A JP2008148328 A JP 2008148328A JP 2008148328 A JP2008148328 A JP 2008148328A JP 2009294932 A JP2009294932 A JP 2009294932A
- Authority
- JP
- Japan
- Prior art keywords
- document
- structured document
- content
- structured
- 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.)
- Granted
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、文書合成システム及びプログラムに関する。 The present invention relates to a document composition system and a program.
複数人が独立的かつ分散的に一つの文書を構成し編集する共同編集を支援する方法は従来知られている (特許文献1及び2参照)。
A method for supporting collaborative editing in which a plurality of people compose and edit a single document independently and in a distributed manner is known (see
この場合、全体の構成に責任を持つ文書構成編集者(以下、構成編集者)は、各内容部分(「文書部品」と呼ぶ)の編集に責任を持つ文書内容編集者(以下、内容編集者)の作業を特定の時点で中断させ、作成・編集した文書部品を集約し、発行のための文書を作成する作業を行うのが一般的である。 In this case, the document composition editor (hereinafter referred to as the “structure editor”) responsible for the overall configuration is the document content editor (hereinafter referred to as the “content editor”) responsible for editing each content part (referred to as “document part”). ) Is generally suspended at a specific point in time, and the document parts created and edited are aggregated to create a document for publication.
従来技術では、文書の一貫性を保つために、文書データベースには、内容編集者が、構成編集者が作成した章立て構造の中で自分の担当箇所として指定された文書部品を指定し、排他的に編集する機構が必要であった。そうでなければ、内容編集者は、編集後の文書部品を文書データベースに書き戻す際に、その文書がその章立て構造のどの部分に相当するかを指定する必要があった。そのような指定の操作は、面倒であり間違いが発生する可能性がある。特に文書部品が紙文書のスキャン画像や写真である場合に、元の章立て構造の位置との対応付けを知ることが困難であり、より顕著な課題となる。 In the conventional technology, in order to maintain the consistency of documents, the content editor specifies the document parts designated as his / her part in the chapter structure created by the composition editor. A mechanism to edit automatically was necessary. Otherwise, when the content editor writes the edited document part back into the document database, it is necessary to specify which part of the chapter structure the document corresponds to. Such a designated operation is cumbersome and may cause errors. In particular, when the document part is a scanned image or photograph of a paper document, it is difficult to know the correspondence with the position of the original chapter structure, which becomes a more prominent problem.
また、従来技術では、構成編集者が所定の章立てを変更し、または、章立て見出しを編集するタイミングは、一般に内容編集者が文書部品の作成または編集を完了し、構成編集者がそれを収集して構成を編集するときに制限される。すなわち、内容編集者による文書部品の作成・編集と構成編集者による構成の編集が並行的に実行できないので効率が悪い。 Also, in the prior art, when a composition editor changes a predetermined chapter or edits a chapter heading, the content editor generally completes creation or editing of a document part, and the composition editor Limited when collecting and editing configurations. In other words, the creation and editing of document parts by the content editor and the editing of the composition by the composition editor cannot be executed in parallel, which is inefficient.
また、内容編集者が文書部品を作成した後に構成編集者が文書部品を集約し構成を編集して章立て順序や構造、章見出しなどを変更すると、その後内容編集者が自分の担当する文書部品の内容を変更した場合に、章立て構造が変更されたあとなので、正しい場所に変更後の内容を反映することが困難となる。このような場合、従来技術では、構成編集者が編集を完了した文書から、内容編集者が該当箇所を特定し、文書部品を独占的に取り出して編集し、書き戻すなどの手順が必要であり、効率が悪い。 In addition, after the content editor creates the document parts, the composition editor aggregates the document parts and edits the configuration to change the chapter order, structure, chapter heading, etc. Since the chapter structure is changed when the contents are changed, it is difficult to reflect the changed contents in the correct place. In such a case, in the prior art, it is necessary for the content editor to identify the relevant part from the document that has been edited by the configuration editor, to take out the document part exclusively, edit it, and write it back. ,ineffective.
本発明は、情報処理装置から、第1の構造化文書に対して行われた操作の種類と、当該操作の結果である第2の構造化文書と、を受信した場合に、前記操作の種類と前記第2の構造化文書とを対応づけて記憶装置に登録すると共に、前記第2の構造化文書が前記第1の構造化文書の子であることを示す派生関係を前記記憶装置に登録する登録手段と、前記記憶装置に記憶された派生関係群がなす木構造のうちユーザから指定された構造化文書を含む木に属する構造化文書であって、対応する操作の種類が文書内容の更新に該当する構造化文書を特定する特定手段と、前記指定された構造化文書に含まれる各文書部品の部品識別子を特定し、それら各部品識別子を持つ構造化文書を前記特定手段が特定した構造化文書群の中から検索する検索手段であって、前記特定手段が特定した構造化文書群の中に同じ部品識別子を持つ構造化文書が複数あった場合はそれら複数のうち前記木において最も葉に近いものを検索することを特徴とする検索手段と、前記検索手段が検索した前記各部品識別子を持つ構造化文書を、前記指定された構造化文書における前記各部品識別子に対応する要素に組み込むことで、合成文書を生成する生成手段と、を備える文書合成システムを提供する。 In the present invention, when the type of operation performed on the first structured document and the second structured document as a result of the operation are received from the information processing apparatus, the type of operation is received. And the second structured document are associated with each other and registered in the storage device, and a derivation relationship indicating that the second structured document is a child of the first structured document is registered in the storage device. And a structured document belonging to a tree including a structured document designated by a user among a tree structure formed by a derivation relation group stored in the storage device, and a corresponding operation type is a document content A specifying means for specifying the structured document corresponding to the update, a part identifier of each document part included in the specified structured document, and a specifying means for specifying the structured document having each of the part identifiers A searcher that searches from a set of structured documents When there are a plurality of structured documents having the same part identifier in the structured document group specified by the specifying means, a search is made for the one closest to the leaf in the tree. And generating means for generating a composite document by incorporating a structured document having the part identifiers searched by the searching means into an element corresponding to each part identifier in the specified structured document. And a document composition system.
本発明によれば、文書の構成の編集と、その文書を構成する各文書部品の内容の編集とを並行的に実行した場合でも、それら各文書部品を合成した文書を生成することができる。 According to the present invention, even when editing of the configuration of a document and editing of the contents of each document part constituting the document are executed in parallel, a document in which these document parts are combined can be generated.
図1は、文書管理システムの概略構成の一例を示すブロック図である。このシステムは、インターネットやローカル・エリア・ネットワーク等のネットワーク30を介して接続された文書管理サーバ10とクライアント端末20−1,20−2,・・・(以下、クライアント端末20と総称する)から構成される。
FIG. 1 is a block diagram illustrating an example of a schematic configuration of a document management system. This system includes a
クライアント端末20の例について図2を用いて説明する。クライアント端末は、ユーザが文書を操作するために用いる端末であり、パーソナルコンピュータ、デジタル複写機などがその一例である。クライアント端末20は、図2に示すように、文書操作部200及び登録処理部210を備える。
An example of the client terminal 20 will be described with reference to FIG. A client terminal is a terminal used by a user to operate a document, such as a personal computer or a digital copying machine. As shown in FIG. 2, the client terminal 20 includes a
文書操作部200は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示(ユーザから見れば「閲覧」)、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図では、文書操作部200を1つだけ示したが、それら個々の操作を別々の操作部(例えば、編集用のアプリケーション、読取制御用のアプリケーションなど)が担当してもよい。例えば、文書操作部200がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部200は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部200は、文書に対して操作を行った場合、その操作の結果を表す識別子(ID)付き文書300を出力する。
The
ID付き文書300は、図3に示すように、メタ情報310と文書内容320を含んだ電子文書である。文書内容320は、文書操作部200の操作の結果生成された文書の内容データである。文書操作部200が電子文書を作成・編集するためのソフトウエアであれば、文書内容320はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部200が電子文書を印刷する装置であれば、文書内容320は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部200が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容320は、例えば、その紙文書を読み取って得られる画像データとすればよい。
The ID-added
メタ情報310は、文書管理のための情報であり、操作ID312,親ID314,及びログ情報316を含む。
The
操作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の)派生関係」という。
The
なお、本システムに未登録の電子文書を新たに登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合(この場合、紙文書を読み取った画像を文書内容とするID付き文書が生成され、本システムに登録される)に生成されるID付き文書300では、親ID314は空(すなわち、親は存在しない)となる。
When an operation for newly registering an electronic document not registered in this system is performed, or when an operation for scanning or copying an unregistered paper document is performed (in this case, the image read from the paper document is used as the document content). In the ID-added
ログ情報316は、当該ID付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた時刻、その操作の種別、その操作を指示したユーザ(操作者)などがあるが、もちろんこれに限るものではない。操作の種別には、例えば新規登録(本システムに新規の文書を登録すること)、閲覧、内容更新(文書の内容を変更する操作)、改訂、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部200を用いて第1のID付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第2のID付き文書のログ情報316は、編集完了の時刻と、その編集を指示したユーザの識別情報と、操作の種別として「内容更新」と、を含んだものとなる。また、「改訂」は、この例では、文書構成を更新する場合の操作を指している。なお、「内容更新」と「改訂」とは、構造化文書の内容記述を編集する点では共通である。これら両者の区別は様々な方法で実現できる。例えば、内容更新と改訂とを別のコマンドで呼び出すようにすれば両者の区別は当然に実現できる。また、両者を同じ編集プログラムで実現した場合でも、編集を行ったのが構成編集者であれば操作種別は「改訂」とし、内容編集者であれば「内容変更」とするように、ユーザ種別に応じて区別してもよい。
The
なお、文書操作部200が、操作した文書を暗号化してもよい。この暗号化は、本システムに準拠した文書操作部200ならば、復号できるようなものとする。この場合、文書操作部200が出力するID付き文書300の文書内容320は、暗号化されることにより、本システムに準拠した文書操作部200でないと復号できなくなる。したがって、ID付き文書300が操作される場合には文書操作部200が用いられるので、文書操作部200がその操作を検知し、その操作の内容が文書操作部200から文書管理サーバ10に通知される。なお、文書内容320だけでなく、後述するメタ情報310(またはその一部)に対しても暗号化を施してもよい。
The
図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で生成することができる。
Returning to the description of FIG. 2, the
メタ情報組込部204は、操作結果の文書に対しID割り当て部202が割り当てた新たな操作ID312と、その操作の元になった親文書の操作IDである親ID314(新規登録の場合は、親IDは無し)と、その操作についての履歴を表すログ情報316と、を含むメタ情報310を生成する。そして、メタ情報組込部204は、そのメタ情報310を操作結果の文書内容に付加することにより、操作後のID付き文書300を生成して出力する。
The meta
登録処理部210は、文書操作部200が出力したID付き文書300を文書管理サーバ10に登録するための処理を実行する。このように各クライアント端末20が、自ら実行した操作の結果であるID付き文書300を文書管理サーバ10に登録することにより、文書管理サーバ10は各ID付き文書300間の派生関係を把握することができる。
The
文書操作部200が操作の結果出力するID付き文書300は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。他の人からID付き文書300を受け取った人が、自分のクライアント端末20の文書操作部200を用いてそのID付き文書300を操作すると、その操作に応じて新たな操作IDを付与されたID付き文書が生成されることになる。
The ID-added
また、文書操作部200が電子文書を印刷する場合、操作IDを生成し、その電子文書の印刷結果にその操作IDを埋め込んでもよい。操作IDの埋め込みは、例えば電子文書の印刷画像に、操作IDを示すコード画像を重畳する等の方法で行うことができる。この場合、文書操作部200は、その操作IDや操作種別「印刷」等のメタ情報を含んだID付き文書を文書管理サーバ10に登録する。なお、ID付き文書を印刷した場合には、そのID付き文書の操作IDを親ID314として含んだID付き文書が生成される。印刷操作に対応するID付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データなどの印刷データを、文書内容320として組み込んでもよい。
When the
また、操作IDが埋め込まれた紙文書を文書操作部200が読み取った場合、文書操作部200は、その読み取り操作に対して新たな操作IDを付与し、読み取り結果の画像を文書内容320として含んだID付き文書を生成して文書管理サーバ10に登録する。このID付き文書の親ID314には、紙文書から読み取った操作IDがセットされる。操作IDが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。
When the
次に、文書管理サーバ10の例について説明する。文書管理サーバ10は、システム内の複数のクライアント端末20から送られてくるID付き文書300を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。図4に示すように、文書管理サーバ10は、文書実体DB100,文書属性DB105,派生関係DB110,文書登録部130,要求処理部140を備える。
Next, an example of the
文書実体DB100は、クライアント端末20から送られてきたID付き文書300のうちの文書内容320を格納するデータベース(DB)である。文書実体DB100に格納された各文書内容320は、一意な内容IDにより管理される。内容IDとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末20が内容IDを付与してもよく、この場合、内容IDをメタ情報310に組み込んでもよい。
The
文書登録部130は、クライアント端末20から受信したID付き文書の中の文書内容320を文書実体DB100に登録する。また文書登録部130は、そのID付き文書の中のメタ情報310のうち、文書属性に関するログ情報316を文書属性DB105に、派生関係の情報(操作ID312及び親ID314)を派生関係DB110に、それぞれ登録する。そのうち、メタ情報の登録を担当するのがメタ情報登録部132である。
The
文書属性DB105は、ID付き文書300のうち、文書属性を表すログ情報316を蓄積するデータベースである。図5に、文書属性DB105のデータ内容の一例を示す。図5に示した表における1行の情報が、1つのID付き文書300に対応する文書属性レコードである。この例では、各ID付き文書300の操作IDに対応づけて、操作種別、操作者のユーザID、操作日時、部品ID、ユーザ種別の各項目が登録されている。また、図示は省略しているが、文書実体DB100で各文書内容のデータを内容IDで管理している場合には、文書属性レコードには、当該ID付き文書の文書内容の内容IDも含まれる。
The
部品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)には、表題の文字列は示されているが、内容は空欄となっている。
The component ID is identification information of each document component included in the document content of the ID-added document. That is, in this embodiment, the electronic document managed by the
ID付き文書の文書属性レコードのうちの部品IDフィールドには、その文書の文書内容320に含まれる全ての部品IDが列挙される。
In the component ID field of the document attribute record of the document with ID, all component IDs included in the
ID付き文書の文書属性レコードのユーザ種別フィールドには、ユーザIDフィールド内のユーザIDを持つユーザの、文書作成業務上の種別が示される。図5の例では、ユーザ種別には「構成編集者」と「内容編集者」がある。構成編集者は文書全体の構造又は構成(例えば論理構成、あるいは論理構成を含む章立て構成)の編集を担当する者であり、内容編集者はその文書に含まれる文書部品の内容(例えば文字列、グラフィックス、スプレッドシート、写真画像など)の編集を担当する者である。この実施形態では、構成編集者がXML等で文書の構成を記述したID付き文書を作成し、各内容編集者がそのID付き文書を取得し、そのID付き文書のうち各自の担当する文書部品の内容を作成する、という枠組みで1つの文書を作成する。 The user type field of the document attribute record of the ID-added document indicates the type of the user having the user ID in the user ID field in the document creation work. In the example of FIG. 5, the user types include “configuration editor” and “content editor”. The composition editor is a person in charge of editing the structure or structure of the entire document (for example, logical structure or chapter structure including the logical structure), and the content editor is the content of the document part included in the document (for example, a character string). , Graphics, spreadsheets, photographic images, etc.). In this embodiment, the composition editor creates an ID-added document in which the document structure is described in XML or the like, each content editor obtains the ID-added document, and the document part that is in charge of each of the ID-added documents. A document is created in the framework of creating the contents of
以上に例示した文書属性レコードの項目は、あくまで一例に過ぎない。文書属性レコードは例示した項目を全て含んでいなくてもよいし、また例示した以外の項目を含んでいてもよい。 The items of the document attribute record exemplified above are merely examples. The document attribute record may not include all of the exemplified items, or may include items other than those exemplified.
なお、図5は文書属性DB105が管理するデータを内容の観点から表現したものにすぎず、具体的な表現形式或いはデータベース形式を規定するものではない。例えば、文書属性DB105は、一般的なリレーショナルデータベースとして構築することもできるし、操作IDを除くメタ情報を記述したXML文書を、操作IDをキーとして登録したデータベースとして構築することもできる。
FIG. 5 is merely a representation of the data managed by the
以上、文書属性DB105について説明した。メタ情報登録部132は、クライアント端末20からID付き文書300を受信した場合、文書属性DB105にその文書300のためのレコードを作成し、そのレコードの各項目にその文書300中のログ情報316に含まれる各項目の値を登録する。
The
派生関係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に記憶するようにしてもよい。
The
図7に示した派生関係DB110のデータ内容は、図8のような木構造を成す。これは、操作IDをノードとし、操作ID間の親子関係をエッジとする木構造である。
The data content of the
図5,図7及び図8の例が示す文書の履歴を時系列順に説明すると、以下のようになる。この例は、複数の文書部品を含む1つの文書を複数人が共同編集する作業を文書管理サーバ10により実現する例である。
The history of documents shown in the examples of FIGS. 5, 7, and 8 will be described in the order of time series. This example is an example in which the
この例では、まず構成編集者であるユーザ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>は空である。
In this example, the
また、クライアント端末20又は文書管理サーバ10は、自身が持つ、あるいはネットワーク上のサーバに記憶されたユーザIDとユーザ種別の対応関係の情報を参照することで、文書に対して操作を行ったユーザに対応するユーザ種別を求めればよい。
Also, the client terminal 20 or the
内容編集者は、文書管理サーバ10にアクセスして、あるいは構成編集者から電子メール等を経由して、文書構成を記述したID付き文書を取得する。内容編集者は、受け取ったID付き文書の文書内容から、自分が担当する文書部品以外の文書部品を削除し、自分の担当する文書部品の内容を作成又は編集する。なお、自分が担当する文書部品以外の文書部品を削除することは、後の処理において、それぞれの担当者が編集をした文書部品を特定するために行うのであって、削除自体は本発明にとっては本質的ではなく、削除せずに文書内容中における編集された文書部品を特定することもできる。例えば編集前の文書と編集後の文書の差分を作ることで、編集箇所を特定することができる。差分を計算するアルゴリズムは、例えばE. Myers (1986). “An O(ND) Difference Algorithm and Its Variations”. Algorithmica 1 (2): 251-266.に詳しい。別の方法では、編集した文書部品に編集日時属性を付与し、編集前の文書の編集日時と比較することによって、それ以降の編集日時を持つ文書部品を編集箇所として特定することができる。
The content editor obtains an ID-added document describing the document configuration by accessing the
この例では、文書部品“#1”を担当するユーザ2及び文書部品“#2”を担当するユーザ3が文書“ID1”を取得する。
In this example, the
次にユーザ2が、自分のクライアント端末20でその文書“ID1”を開き、その文書から文書部品“#2”を削除し、文書部品“#1”の内容を作成する。この結果作成された文書は、操作ID“ID2”を付与され、文書管理サーバ10に登録される(図5の2番目のレコード参照)。ここでは文書“ID2”が図9に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図9の例(a)である。
Next, the
次に、構成編集者であるユーザ1が文書“ID1”を開いて文書構成を改訂したとする。この改訂では、図10に示すように、1番目及び2番目の文書部品の表題<TITLE>の文字列を変更すると共に、3番目の文書部品“#3”を追加している。図10の例(b)は改訂された文書構成を記述した構造化文書を示し、例(a)はその構造化文書の表示例を示す。改訂された文書は、操作ID“ID3”を付与され、文書管理サーバ10に登録される(図5の3番目のレコード参照)。
Next, it is assumed that the
次にユーザ3が、取得した文書“ID1”を開き、その文書から文書部品“#1”を削除し、文書部品“#2”の内容を作成する。この結果作成された文書は、操作ID“ID4”を付与され、文書管理サーバ10に登録される(図5の4番目のレコード参照)。ここでは文書“ID4”が図11に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図11の例(a)である。
Next, the
次にユーザ4が、文書“ID3”を取得して開き、その文書から文書部品“#1”及び“#2”を削除し、文書部品“#3”の内容を作成する。この結果作成された文書は、操作ID“ID5”を付与され、文書管理サーバ10に登録される(図5の5番目のレコード参照)。ここでは文書“ID4”が図12に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図12の例(a)である。
Next, the
そして、ユーザ2が、先に作成した文書“ID2”を開き、文書部品“#2”の内容を編集する。この結果内容が変更された文書は、操作ID“ID6”を付与され、文書管理サーバ10に登録される(図5の6番目のレコード参照)。ここでは文書“ID6”が図13に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図13の例(a)である。
Then, the
以上、このシステムにおける文書操作の情報の登録の様子を説明した。 The document operation information registration in this system has been described above.
図4の説明に戻り、要求処理部140は、クライアント端末20からの操作IDを含んだサービス要求に応じて、文書実体DB100,文書属性DB105及び派生関係DB110を用いたサービスを提供する。
Returning to the description of FIG. 4, the
サービス要求は、クライアント端末20に保持されたID付き文書に基づき発せられる。例えば、ユーザがクライアント端末20の文書操作部200によりID付き文書を開いた場合に、文書操作部200が、派生関係を用いたサービスのメニューを提供し、そのメニューの中からユーザが所望するサービスの指定を受け付ける。そして、そのID付き文書の操作IDと指定されたサービスを示すコードとを含むサービス要求を文書管理サーバ10の要求処理部140に送信する。なお、操作IDと、サービスを示すコード以外に、指示を行ったユーザの識別情報や、ユーザの入力した認証情報などといった他の情報を、クライアント端末20から要求処理部140に送信するようにしてもよい。
The service request is issued based on the ID-added document held in the client terminal 20. For example, when the user opens an ID-added document using the
また、別の例として、ID付き文書というオブジェクト種類に対して、そのようなサービスのメニューを対応づけてクライアント端末20のオペレーティングシステムに登録しておいてもよい。 As another example, such a service menu may be associated with an object type called an ID-added document and registered in the operating system of the client terminal 20.
また別の例として、ユーザによるサービスの指定を一つの「操作」と捉え、その「操作」に対して新たに操作IDを付与することも考えられる。この場合、指定されたサービスのコードを操作種別として含み、指定の際に用いられた元のID付き文書の操作IDを親IDとして含んだID付き文書を生成し、このID付き文書をサービス要求として文書管理サーバ10に送ってもよい。この場合、要求処理部140は、受け取ったID付き文書内の操作種別の情報に基づき提供すべきサービスを判定し、同じくID付き文書内の親IDを、派生関係を遡る処理の起点とする。
As another example, it may be considered that the designation of a service by the user is regarded as one “operation” and a new operation ID is given to the “operation”. In this case, an ID-added document including the code of the specified service as the operation type, the operation ID of the original ID-added document used in the specification as a parent ID is generated, and this ID-added document is requested as a service request. May be sent to the
要求処理部140は、クライアント端末20からサービス要求を受けた場合、そのサービス要求中に指定された操作IDを起点に、派生関係DB110に登録された操作IDと親IDとの派生関係群が構成する木を走査(トラバース)し、その走査の結果得られた情報を用いて、ユーザから要求されたサービスを実行する。
When the
要求処理部140が提供するサービスとして、以下では共同編集の実現のために文書部品群を合成するサービスを説明する。このサービスのために、要求処理部140は、文書合成部142及び文書検索部144を備える。文書合成部142は、複数の文書部品を合成するための処理を行う。文書検索部144は、文書合成部142から要求された文書部品を検索する。
As a service provided by the
構成編集者が自分のクライアント端末20で、文書構成を示すID付き文書(図5,図7及び図8の例では文書“ID3”)を用いて文書合成を指示すると、その指示が文書合成部142に伝わる。クライアント端末20は、例えば、当該端末20を操作しているユーザが構成編集者である場合、そのID付き文書に対する操作として「文書合成」を選択可能とするような制御を行ってもよい。この指示を受けると、クライアント端末20は、その指示に用いられた文書の操作ID(上述の例では“ID3”)を含んだ文書合成の指示を文書管理サーバ10に送る。
When the composition editor uses his / her client terminal 20 to instruct document composition using an ID-added document indicating the document structure (document “ID3” in the examples of FIGS. 5, 7 and 8), the instruction is sent to the document composition unit. 142. For example, when the user operating the terminal 20 is a configuration editor, the client terminal 20 may perform control such that “document composition” can be selected as an operation for the ID-added document. Upon receiving this instruction, the client terminal 20 sends a document composition instruction including the operation ID of the document used for the instruction (“ID3” in the above example) to the
この指示を受け取った文書管理サーバ10は、文書合成部142を呼び出す。これに応じて文書合成部142が実行する処理手順の一例を図14に示す。
Upon receiving this instruction, the
この手順では、文書合成部142は、まず、文書合成指示の対象に指定された文書(すなわち、その指示に含まれる操作IDに対応する文書。「指定文書」と呼ぶ)の文書内容を文書実体DB100から取得し、その文書内容を解析することで、指定文書の文書構成(すなわち文書部品群が構成する論理構造又は章立て構造)を求め(S1)、その文書内容の中に含まれる部品IDのリストを生成する(S2)。このリストには、共同編集文書を合成するために必要な文書部品の部品IDが列挙されることになる。例えば、指定文書が図5に示した文書“ID3”(図10の例(b)参照)であれば、このリストには部品ID“#1”,“#2”,“#3”が含まれることになる。
In this procedure, the
次に文書合成部142は、文書検索部144に対し、指定文書の文書ファミリーの収集を要求する(S3)。ここでいう文書ファミリーは、派生関係DB110に含まれる派生関係群が構成する1以上の木のうちで、指定文書が属する木に含まれるID付き文書の集合のことである。ただし、ここでは、共同編集文書の合成が目的なので、その木に含まれるID付き文書のうち、操作種別が「内容更新」に該当するものだけを収集することとし、その収集の結果できる文書の集合を文書ファミリーと呼ぶ。文書管理サーバ10に登録されるID付き文書の中には、閲覧や印刷などといった文書内容の更新を伴わない操作の結果もあるので、そのようなものは収集の対象から外すのである。また、操作種別が「改訂」であるID付き文書は文書構成を示すものであるが、共同編集文書の文書構成は指定文書から求めることができるので、そのようなID付き文書は収集する必要がない。
Next, the
この収集の要求を受けた場合、文書検索部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に渡す。
When receiving this collection request, the
再び図14の説明に戻る。文書合成部142は、文書検索部144から文書ファミリー情報を受け取ると(S4)、収集順序の若い順にレコードを取り出し(S5)、取り出したレコード中の文書実体(「内容」)を、ステップS2で作成したリスト中の対応する部品ID(すなわち当該レコード中の部品IDと同じ値の部品ID)に関連づけて登録する(S6)。以上のステップS5及びS6の処理を、文書ファミリー情報の全レコードの処理が終わるまで繰り返す(S7)。
Returning to the description of FIG. When the
ここで、ステップS6では、リスト中の対応する部品IDに対応づけて既に文書実体が登録されている場合は、取得したレコード中の文書実体を既に登録されている文書実体に上書きする。収集順序は根からの行きがけ順に巡回した場合の巡回順序なので、収集された文書ファミリーに同じ部品IDのレコードが複数ある場合は、最終的には、それらレコードのうち派生関係の木において最も子孫側の操作IDに対応するレコードの文書実体がリストに残ることになる。例えば、図15の例には、部品ID“#1”のレコードが2つあるが、そのうち収集順序が最も後ろの操作ID“ID6”に対応する文書実体(「本章ではシステムの概要を説明します。…)がリストに残ることとなる。 Here, in step S6, when the document entity is already registered in association with the corresponding component ID in the list, the document entity in the acquired record is overwritten on the already registered document entity. Since the collection order is a circulation order in the case of circulation in the order from the root, if there are multiple records with the same part ID in the collected document family, the most descendant in the derivation relationship tree of those records finally The document entity of the record corresponding to the operation ID remains in the list. For example, in the example of FIG. 15, there are two records with the component ID “# 1”. Of these, the document entity corresponding to the operation ID “ID6” whose collection order is the last (in this chapter, an overview of the system is described. ...) will remain on the list.
文書ファミリー情報の全レコードについてステップS5及びS6の処理が終わると、文書合成部142は、リストに含まれる各文書部品の文書実体(内容)をステップS1で求めた文書構成における各文書部品の論理的位置に組み込むことで、共同編集結果の文書を合成する(S8)。
When the processes in steps S5 and S6 are completed for all records of the document family information, the
図5,図7,図8及び図15の例では、部品ID“#1”に操作ID“ID6”の文書実体、部品ID“#2”には操作ID“ID4”の文書実体、部品ID“#3”には操作ID“ID5”の文書実体、を組み込んだ合成文書(図16の例(b)参照)が生成される。図16の例(a)は、この合成文書の表示例を模式的に示したものである。 In the example of FIGS. 5, 7, 8, and 15, the document entity with the operation ID “ID6” is assigned to the component ID “# 1”, the document entity with the operation ID “ID4” is assigned to the component ID “# 2”, and the component ID. A composite document (see example (b) in FIG. 16) in which the document entity with the operation ID “ID5” is incorporated in “# 3” is generated. An example (a) in FIG. 16 schematically shows a display example of this composite document.
この例では、ユーザ2及びユーザ3が文書構成を示すID付き文書“ID1”を受け取った後に、その文書が改訂されてID付き文書“ID3”となり、文書部品が増えると共に、既存の文書部品の表題の文字列も変更される。しかし、ユーザ2及びユーザ3は、そのような変更を意識することなく、自分が取得した文書“ID1”の中で自分の担当する文書部品の文書内容を編集して、文書管理サーバ10に登録するだけでよい。表題の文字列は、文書構成を示す文書“ID3”から採られるので、ユーザ2及びユーザ3は表題の文字列を変更しなくてもよい。
In this example, after the
以上、文書合成部142による合成処理について説明したが、このような合成処理は、特開2004−86855号公報に記載された方式や、特開2007−156965号公報に記載された方式で実現することができる。以下では、後者の方式で実現する場合の処理例を説明する。
The composition processing by the
特開2007−156965号公報には、テンプレートを用いて複数の構造化文書から必要な部分を取捨選択して1乃至複数の電子文書を組み立てるための方法が開示されている。以下では、この文献に示された処理方法のことを「テンプレート処理」と呼ぶことにする。 Japanese Unexamined Patent Application Publication No. 2007-156965 discloses a method for assembling one or more electronic documents by selecting necessary portions from a plurality of structured documents using a template. Hereinafter, the processing method disclosed in this document will be referred to as “template processing”.
章立て等の文書構成を表す構造化文書は、個々の文書部品の内容に比して文書構造が定型的であり、計算機の処理で繰り返し構造を検出するのが容易である。特にXMLやSGMLのエディタを使う場合は、文書構成を表す構造化文書をDTD(文書型定義)に基づき論理構造が制限された形で編集することができる。したがって、章ごとの繰り返しを検出すことで、テンプレートと、流し込みに用いるデータとして、ディレクトリレコードを生成する。ディレクトリレコードは、文書の論理構造の表現形式の一形態であり、内容的にはXML文書又はDOMツリーで表現された構造と等価である。ディレクトリレコードの詳細については、特開2007−156965号公報を参照されたい。 A structured document representing a document structure such as a chapter structure has a fixed document structure compared to the contents of individual document parts, and it is easy to detect the structure repeatedly by computer processing. In particular, when an XML or SGML editor is used, a structured document representing a document structure can be edited based on DTD (document type definition) with a limited logical structure. Therefore, by detecting repetition for each chapter, a directory record is generated as a template and data used for pouring. A directory record is one form of a representation format of a logical structure of a document, and is equivalent to a structure represented by an XML document or a DOM tree. For details of the directory record, refer to Japanese Unexamined Patent Application Publication No. 2007-156965.
この処理では、まず、ユーザから文書合成の種文書として指定された構造化文書(例えば図5,図7及び図8の例での文書“ID3”)を公知のパーサー(parser)で構文解析する。この例では、構文解析により、種文書の要素(部品)間の論理構造を示す情報として、パースツリー(parse tree)を生成する。種文書が図10の例(b)に示すものであった場合に生成されるパースツリーを図17に例示する。 In this process, first, a structured document (for example, the document “ID3” in the examples of FIGS. 5, 7, and 8) designated by the user as a seed document for document synthesis is parsed by a known parser. . In this example, a parse tree is generated as information indicating a logical structure between elements (parts) of a seed document by syntax analysis. FIG. 17 illustrates a parse tree generated when the seed document is the one shown in the example (b) of FIG.
次に、そのパースツリーのノード群を根から行きがけ順に巡回する際に、変換ルールを適用することで、流し込みに用いるテンプレートとディレクトリレコードを生成する。ここでは、一例として、図18に示す変換ルールセットを用いる。 Next, when a node group of the parse tree is traversed in order from the root, a conversion rule is applied to generate a template and a directory record used for pouring. Here, as an example, the conversion rule set shown in FIG. 18 is used.
変換ルールセットは1以上のルールから構成される。個々のルールは、「要素条件」、「巡回条件」、「出力文字列」、「収集する属性」、「ディレクトリ属性」の各項目を含む。 The conversion rule set is composed of one or more rules. Each rule includes items of “element condition”, “tour condition”, “output character string”, “attribute to be collected”, and “directory attribute”.
パースツリーの巡回の中でノードに到達するごとに、そのノード(注目ノードと呼ぶ)が各ルールの「要素条件」及び「巡回条件」を満たすかどうかを検査する。そして、注目ノードがあるルールの「要素条件」及び「巡回条件」を満たした場合、そのルールにおける「出力文字列」、「収集する属性」、「ディレクトリ属性」の各項目の値に従ってテンプレートやディレクトリレコードを生成する。 Each time a node is reached in the parse tree traversal, it is checked whether the node (referred to as the node of interest) satisfies the “element condition” and “circular condition” of each rule. Then, if the “element condition” and “circulation condition” of a rule with a node of interest are satisfied, a template or directory is set according to the values of the “output character string”, “collected attribute”, and “directory attribute” items in that rule. Generate a record.
「要素条件」は、注目ノードが表す要素(部品)についての条件であり、ここでは要素名についての条件が示される。 The “element condition” is a condition for the element (part) represented by the node of interest, and here, the condition for the element name is shown.
「巡回条件」は、注目ノードに到達したのが巡回経路において親ノードの次である(「下行」)か、子ノードの次である(「上行」)かの条件を示す。 The “traveling condition” indicates a condition that the node that has reached the node of interest is next to the parent node (“lower row”) or next to the child node (“upward”) in the tour route.
注目ノードがあるルールの「要素条件」と「巡回条件」の両方を満たしたときに、この生成処理では、そのルールの項目「出力文字列」をテンプレートに出力する。例えば、根の次に要素名“H1”のノードに到達した場合、要素条件「H1」かつ巡回条件「下行」が満たされるので、そのノードには図18のセットのうちの最も上のルールが適用されることになり、テンプレートには文字列“{{<H1>”が追加されることになる。 When both the “element condition” and “circulation condition” of a rule with a node of interest are satisfied, in this generation process, the item “output character string” of the rule is output to a template. For example, when the node having the element name “H1” is reached next to the root, the element condition “H1” and the cyclic condition “descending” are satisfied, so that the highest rule in the set of FIG. The character string “{{<H1>” is added to the template.
また、図18のセットの3つめのルールにおける出力文字列「TITLE TEXT=”$H1.partID$”」のうち「$H1.partID$」は、変数要素を示している。変数要素は、変数名と属性名とにより示され、その前後を「$」で囲むことで表現される。テンプレート適用の際に、変数名がノードの要素名にマッチした場合に、変数要素の属性名に合致する当該ノード(又はその子孫ノード)の属性の値が、その変数要素に代入される。すなわち、テンプレート適用の際には、「$H1.partID$」には、<H1>要素(又はその子孫)に含まれる“partID”属性の値が代入されることになる。また、図18のセットの4つめのルールにおける「$H1.body$」は内容データを表す変数要素であり、テンプレート適用の際にはその要素には<H1>要素の子孫の<CONTENT>要素に含まれる内容データの値が代入される。 Also, “$ H1.partID $” in the output character string “TITLE TEXT =“ $ H1.partID $ ”in the third rule of the set in FIG. 18 indicates a variable element. A variable element is represented by a variable name and an attribute name, and is expressed by surrounding “$” around it. When the template name is applied and the variable name matches the element name of the node, the attribute value of the node (or its descendant node) that matches the attribute name of the variable element is assigned to the variable element. In other words, when applying the template, the value of the “partID” attribute included in the <H1> element (or its descendant) is substituted for “$ H1.partID $”. In addition, “$ H1.body $” in the fourth rule in the set of FIG. 18 is a variable element representing content data, and when applying a template, the element is a <CONTENT> element that is a descendant of the <H1> element. The value of the content data contained in is substituted.
「収集する属性」は、種文書に記述された注目ノードの属性のうち、ディレクトリレコードに収集する属性を指定する。この例では、「収集する属性」をXPATH(XML Path Language)で記述している。例えば、“TITLE/@TEXT”との記述は、注目ノードの子ノードのうちTITLE要素のテキスト属性を収集対象として指定したことになる。 “Collecting attributes” designates the attributes to be collected in the directory record among the attributes of the node of interest described in the seed document. In this example, “collected attributes” are described in XPATH (XML Path Language). For example, the description “TITLE / @ TEXT” means that the text attribute of the TITLE element among the child nodes of the node of interest is designated as the collection target.
「ディレクトリ属性」は、「収集する属性」の値をディレクトリレコード中のどのカラムに書き込むかを指定する。 “Directory attribute” specifies to which column in the directory record the value of “attribute to be collected” is written.
例えば、図18のセットのうちの最も上のルールが満足された場合、注目ノードの子であるTITLE要素のテキスト属性がディレクトリレコードの“title”欄に、注目ノードの子であるCONTENT要素の“partID”属性がディレクトリレコードの“partID”欄にそれぞれ書き込まれることになる。 For example, when the top rule in the set of FIG. 18 is satisfied, the text attribute of the TITLE element that is a child of the node of interest is displayed in the “title” column of the directory record in the “Content” column of the child of the node of interest. The “partID” attribute will be written in the “partID” field of the directory record.
なお、この生成処理では、ルールを満たした注目ノードについて、「収集する属性」で指定された属性値に加えて、「アドレス情報(s_address)」と「要素名(s_tag)」とをディレクトリレコードに書き込む。 In addition, in this generation process, in addition to the attribute value specified in “Attribute to collect”, “Address information (s_address)” and “Element name (s_tag)” are added to the directory record for the node of interest that satisfies the rule. Write.
「アドレス情報」は、特開2007−156965号公報における「コンテキスト識別子」と同じものであり、文書のノード(要素)群がなすツリーにおいて注目ノードが占める位置を表す。「アドレス情報」は、例えば、文書の根から数えて、パス区切り記号('/')で区切った兄弟順位からなる文字列で表現できる。根は'/'で表現される。例えば、図10の例(b)に含まれる3つの要素“<H1>”はいずれも根の直下にあるので、各々のアドレス情報はその出現順に'/1','/2','/3'となる。「アドレス情報」は、ディレクトリレコードでは“s_address”欄に書き込まれる。 The “address information” is the same as the “context identifier” in Japanese Patent Application Laid-Open No. 2007-156965, and represents the position occupied by the node of interest in the tree formed by the node (element) group of the document. The “address information” can be expressed, for example, as a character string consisting of sibling ranks counted from the root of the document and separated by a path delimiter ('/'). The root is represented by '/'. For example, since all of the three elements “<H1>” included in the example (b) of FIG. 10 are directly under the root, each address information is “/ 1”, “/ 2”, “/” in the order of appearance. 3 '. “Address information” is written in the “s_address” field in the directory record.
また、「要素名」は注目ノードの要素名であり、例えば当該要素のタグに示されるタグ名を用いることができる。文書の根の要素名は“root”とする。「要素名」は、ディレクトリレコードでは“s_tag”欄に書き込まれる。 The “element name” is the element name of the node of interest, and for example, the tag name indicated in the tag of the element can be used. The root element name of the document is “root”. The “element name” is written in the “s_tag” field in the directory record.
テンプレート生成処理では、図17に例示した文書構造に対して図18に例示した変換ルールセットを適用した場合、図19に例示するテンプレートと、図20に例示するディレクトリレコードとが得られる。なお、図20のディレクトリレコードの“body”欄は、<CONTENT>要素に含まれる内容データを保持するための欄である。テンプレートを適用する際に、この欄に内容データが書き込まれる。 In the template generation process, when the conversion rule set illustrated in FIG. 18 is applied to the document structure illustrated in FIG. 17, the template illustrated in FIG. 19 and the directory record illustrated in FIG. 20 are obtained. The “body” column of the directory record in FIG. 20 is a column for holding content data included in the <CONTENT> element. When applying the template, the content data is written in this field.
以上のようにして種文書(図14のステップS1で指定された指定文書)からテンプレートと、ディレクトリレコードのひな形とが生成されると、次に、文書合成部142は、ステップS4で収集された文書ファミリー(図15参照)とディレクトリレコードのひな形とをつき合わせて、ディレクトリレコードを完成させる。すなわち、文書ファミリーのレコードを収集順序の順に取り出し、取り出したレコードの「内容」欄の値を、当該レコードと同じpartIDを持つディレクトリレコード中のレコードのbody欄に書き込む。当該body欄に既に内容が書き込まれている場合は、取り出したレコードの「内容」欄の値を既に書き込まれている内容に上書きする。以上のようにして、ディレクトリレコードが完成する。図5〜図15の具体例の場合、完成したディレクトリレコードは図21に示すようなものとなる。
When the template and the template of the directory record are generated from the seed document (designated document designated in step S1 in FIG. 14) as described above, the
ディレクトリレコードが完成すると、文書合成部142は、これにテンプレートを適用することで、共同編集結果の文書を完成させる。ディレクトリレコードに対するテンプレートの適用処理では、特開2007−156965号公報の例えば段落0049〜0084に例示される処理を行えばよい。このような処理により、例えば図16の例(b)に例示したような共同編集結果の文書が生成される。
When the directory record is completed, the
このように、以上に説明した実施の形態によれば、内容編集者は、自分の担当する文書部品を文書管理サーバ10に登録する際に、その文書部品が構造化文書中のどの部分に該当するのかを指定しなくてもよい。また、内容編集者による文書部品の作成・編集と構成編集者による構成の編集が並行的に実行できる。また、構成編集者が文書構成を改訂した後に、内容編集者が文書部品の内容を更新した場合でも、内容編集者はその更新後の文書を改訂後の文書構成のどの部分に反映させるかを指定する必要がない。
As described above, according to the embodiment described above, when the content editor registers the document part he / she is responsible for in the
以上に例示した実施形態では、操作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を付与する構成でも、上述実施形態の処理は同様に実行できる。
In the embodiment exemplified above, the operation ID is issued at each client terminal 20, but the
また以上の実施形態では、操作ID312、親ID314、ログ情報316、及び文書内容320を含んだID付き文書300がクライアント端末20に保存されたが、この代わりに、クライアント端末20は操作IDしか持たず、その他の情報は文書管理サーバ10に保存されるようにしてもよい。この場合、クライアント端末20で文書を操作する場合、その文書に対応する操作IDを文書管理サーバ10に送り、文書管理サーバ10からその文書を取得する。
In the above embodiment, the ID-added
ここで、文書管理サーバ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に蓄積されることになる。
Here, when the
一方、クライアント端末20が操作IDを付与する構成の場合は、文書管理サーバ10は、クライアント端末20から受け取った操作IDに対応する文書をクライアントに返せばよい。クライアント端末20は受け取った文書を開き、ユーザがその文書を操作する。操作の完了後、クライアント端末20はその操作結果の文書に対して新たな操作IDを付与し、この操作IDを含んだ前述のID付き文書と同様の情報を、文書管理サーバ10に送る。そして、クライアント端末20は、そのID付き文書のうち操作IDのみを保存し、その他の情報を削除する。
On the other hand, when the client terminal 20 is configured to give an operation ID, the
以上に例示した実施の形態及び変形例における文書管理サーバ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)等のハードウエア回路として構成してもよい。
The
10 文書管理サーバ、20 クライアント端末、30 ネットワーク、100 文書実体DB、105 文書属性DB、110 派生関係DB、130 文書登録部、132 メタ情報登録部、140 要求処理部、142 文書合成部、144 文書検索部、200 文書操作部、202 ID割り当て部、204 メタ情報組込部、210 登録処理部、300 ID付き文書。 10 document management server, 20 client terminal, 30 network, 100 document entity DB, 105 document attribute DB, 110 derivation relation DB, 130 document registration unit, 132 meta information registration unit, 140 request processing unit, 142 document composition unit, 144 document Search unit, 200 Document operation unit, 202 ID allocation unit, 204 Meta information incorporation unit, 210 Registration processing unit, 300 ID-added document.
Claims (2)
前記記憶装置に記憶された派生関係群がなす木構造のうちユーザから指定された構造化文書を含む木に属する構造化文書であって、対応する操作の種類が文書内容の更新に該当する構造化文書を特定する特定手段と、
前記指定された構造化文書に含まれる各文書部品の部品識別子を特定し、それら各部品識別子を持つ構造化文書を前記特定手段が特定した構造化文書群の中から検索する検索手段であって、前記特定手段が特定した構造化文書群の中に同じ部品識別子を持つ構造化文書が複数あった場合はそれら複数のうち前記木において最も葉に近いものを検索することを特徴とする検索手段と、
前記検索手段が検索した前記各部品識別子を持つ構造化文書を、前記指定された構造化文書における前記各部品識別子に対応する要素に組み込むことで、合成文書を生成する生成手段と、
を備える文書合成システム。 When the type of operation performed on the first structured document and the second structured document as a result of the operation are received from the information processing apparatus, the type of operation and the second type Registration means for registering in the storage device a derivation relationship indicating that the second structured document is a child of the first structured document. ,
A structured document belonging to a tree including a structured document designated by the user among the tree structure formed by the derivation relation group stored in the storage device, wherein the corresponding operation type corresponds to the update of the document content Identifying means for identifying the document,
Search means for specifying a part identifier of each document part included in the designated structured document and searching for a structured document having each of the part identifiers from the structured document group specified by the specifying means; When there are a plurality of structured documents having the same part identifier in the structured document group specified by the specifying means, a search means that searches for the closest one of the leaves in the tree among the plurality of structured documents. When,
Generating means for generating a composite document by incorporating the structured document having each part identifier searched by the search means into an element corresponding to each part identifier in the designated structured document;
A document composition system comprising:
情報処理装置から、第1の構造化文書に対して行われた操作の種類と、当該操作の結果である第2の構造化文書と、を受信した場合に、前記操作の種類と前記第2の構造化文書とを対応づけて記憶装置に登録すると共に、前記第2の構造化文書が前記第1の構造化文書の子であることを示す派生関係を前記記憶装置に登録する登録手段、
前記記憶装置に記憶された派生関係群がなす木構造のうちユーザから指定された構造化文書を含む木に属する構造化文書であって、対応する操作の種類が文書内容の更新に該当する構造化文書を特定する特定手段、
前記指定された構造化文書に含まれる各文書部品の部品識別子を特定し、それら各部品識別子を持つ構造化文書を前記特定手段が特定した構造化文書群の中から検索する検索手段であって、前記特定手段が特定した構造化文書群の中に同じ部品識別子を持つ構造化文書が複数あった場合はそれら複数のうち前記木において最も葉に近いものを検索することを特徴とする検索手段、
前記検索手段が検索した前記各部品識別子を持つ構造化文書を、前記指定された構造化文書における前記各部品識別子に対応する要素に組み込むことで、合成文書を生成する生成手段、
として機能させるためのプログラム。 Computer
When the type of operation performed on the first structured document and the second structured document as a result of the operation are received from the information processing apparatus, the type of operation and the second type Registration means for registering in the storage device a derivation relationship indicating that the second structured document is a child of the first structured document.
A structured document belonging to a tree including a structured document designated by the user among the tree structure formed by the derivation relation group stored in the storage device, wherein the corresponding operation type corresponds to the update of the document content Identification means for identifying a document,
Search means for specifying a part identifier of each document part included in the designated structured document and searching for a structured document having each of the part identifiers from the structured document group specified by the specifying means; When there are a plurality of structured documents having the same part identifier in the structured document group specified by the specifying means, a search means that searches for the closest one of the leaves in the tree among the plurality of structured documents. ,
Generating means for generating a composite document by incorporating the structured document having each part identifier searched by the search means into an element corresponding to each part identifier in the designated structured document;
Program to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008148328A JP5169505B2 (en) | 2008-06-05 | 2008-06-05 | Document composition system and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008148328A JP5169505B2 (en) | 2008-06-05 | 2008-06-05 | Document composition system and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009294932A true JP2009294932A (en) | 2009-12-17 |
JP5169505B2 JP5169505B2 (en) | 2013-03-27 |
Family
ID=41543061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008148328A Expired - Fee Related JP5169505B2 (en) | 2008-06-05 | 2008-06-05 | Document composition system and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5169505B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013541115A (en) * | 2010-10-26 | 2013-11-07 | マイクロソフト コーポレーション | Synchronizing online document editing |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003248679A (en) * | 2002-02-22 | 2003-09-05 | Toshiba Corp | Structured document compilation system, method, and program |
JP2007158822A (en) * | 2005-12-06 | 2007-06-21 | Canon Inc | Image processor, its control method, and program |
JP2008003847A (en) * | 2006-06-22 | 2008-01-10 | Fuji Xerox Co Ltd | Document use management system, document management server, and its program |
-
2008
- 2008-06-05 JP JP2008148328A patent/JP5169505B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003248679A (en) * | 2002-02-22 | 2003-09-05 | Toshiba Corp | Structured document compilation system, method, and program |
JP2007158822A (en) * | 2005-12-06 | 2007-06-21 | Canon Inc | Image processor, its control method, and program |
JP2008003847A (en) * | 2006-06-22 | 2008-01-10 | Fuji Xerox Co Ltd | Document use management system, document management server, and its program |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013541115A (en) * | 2010-10-26 | 2013-11-07 | マイクロソフト コーポレーション | Synchronizing online document editing |
Also Published As
Publication number | Publication date |
---|---|
JP5169505B2 (en) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4816281B2 (en) | Document use management system, document management server and program thereof | |
JP5023715B2 (en) | Information processing system, information processing apparatus, and program | |
JP5407209B2 (en) | Document management apparatus, document management program, and document management system | |
US20080270463A1 (en) | Document processing system and method therefor | |
US20080243831A1 (en) | Information processing apparatus, information processing system, and storage medium | |
US8645344B2 (en) | Document processing system and method therefor | |
JP2007156965A (en) | Document processing method, program, and system | |
JP2007109180A (en) | Document processing device and method | |
JP4185175B2 (en) | How to display structured documents | |
JP3868171B2 (en) | Document digital signature management method and document management apparatus | |
AU2007202450A1 (en) | Information processing apparatus, information processing system, and program | |
JP2009087230A (en) | Information processor, information processing system and program | |
JP5082460B2 (en) | Information processing apparatus, program, and information processing system | |
US7100126B2 (en) | Electrical form design and management method, and recording medium | |
JP5169505B2 (en) | Document composition system and program | |
JP2008181446A (en) | Document management device, information processor, document management system, and program | |
JP2003281149A (en) | Method of setting access right and system of structured document management | |
JP2010073012A (en) | Document management apparatus, document management system and program | |
JP2002297662A (en) | Method and device for editing structured document, terminal, and program | |
JP5309664B2 (en) | Document management apparatus and program | |
JP4255538B2 (en) | Structured document storage and retrieval device | |
JP3933407B2 (en) | Document processing apparatus, document processing method, and storage medium storing document processing program | |
JP5200633B2 (en) | Document management apparatus and program | |
JP2010250567A (en) | Environment information aggregation analysis system | |
JP2011043930A (en) | System, server device, apparatus and method for processing business form, and program |
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 |