JP2009294932A - Document composition system and program - Google Patents

Document composition system and program Download PDF

Info

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
Application number
JP2008148328A
Other languages
Japanese (ja)
Other versions
JP5169505B2 (en
Inventor
Shigehisa Kawabe
惠久 川邉
Setsu Kunitake
節 國武
Akira Suzuki
明 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008148328A priority Critical patent/JP5169505B2/en
Publication of JP2009294932A publication Critical patent/JP2009294932A/en
Application granted granted Critical
Publication of JP5169505B2 publication Critical patent/JP5169505B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a mechanism for executing the edition of document configurations by a configuration editor and the edition of the content of each document component by each content editor in parallel. <P>SOLUTION: A configuration editor creates a document showing document configurations, and registers it in a document management server 10. The component ID of each document component is described in the document. Each content editor acquires the document, and performs edition to describe the content in the document component of which the content editor himself is in charge in the document, and to delete the other components, and registers the edition result in the document management server 10. The document management server 10 records a descendant relation between the respective documents. When the configuration editor instructs document composition by designating the document showing the document configurations, the document management server 10 specifies a document group belonging to the tree including the document from the information of the descendant relation, and compounds the content of each specified document with the document showing the document configurations according to the association between the component IDs. <P>COPYRIGHT: (C)2010,JPO&INPIT

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 Patent Documents 1 and 2).

この場合、全体の構成に責任を持つ文書構成編集者(以下、構成編集者)は、各内容部分(「文書部品」と呼ぶ)の編集に責任を持つ文書内容編集者(以下、内容編集者)の作業を特定の時点で中断させ、作成・編集した文書部品を集約し、発行のための文書を作成する作業を行うのが一般的である。   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.

特開2003−067402号公報JP 2003-0667402 A 特開2007−115131号公報JP 2007-115131 A 特開平6−295299号公報JP-A-6-295299 特開平10−143507号公報JP-A-10-143507 特開2003−248679号公報JP 2003-248679 A

従来技術では、文書の一貫性を保つために、文書データベースには、内容編集者が、構成編集者が作成した章立て構造の中で自分の担当箇所として指定された文書部品を指定し、排他的に編集する機構が必要であった。そうでなければ、内容編集者は、編集後の文書部品を文書データベースに書き戻す際に、その文書がその章立て構造のどの部分に相当するかを指定する必要があった。そのような指定の操作は、面倒であり間違いが発生する可能性がある。特に文書部品が紙文書のスキャン画像や写真である場合に、元の章立て構造の位置との対応付けを知ることが困難であり、より顕著な課題となる。   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 document management server 10 and client terminals 20-1, 20-2,... (Hereinafter collectively referred to as client terminal 20) connected via a network 30 such as the Internet or a local area network. Composed.

クライアント端末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 document operation unit 200 and a registration processing unit 210.

文書操作部200は、文書に対する操作を実行する手段である。文書に対する操作には、例えば、文書の表示(ユーザから見れば「閲覧」)、編集、印刷出力、紙文書の読み取り、紙文書の複写、等がある。図では、文書操作部200を1つだけ示したが、それら個々の操作を別々の操作部(例えば、編集用のアプリケーション、読取制御用のアプリケーションなど)が担当してもよい。例えば、文書操作部200がワードプロセッサ等の電子文書を作成・編集するためのソフトウエアであれば、文書操作部200は、ユーザの指示に応じて電子文書を表示したり、電子文書に編集を加えたりする。文書操作部200は、文書に対して操作を行った場合、その操作の結果を表す識別子(ID)付き文書300を出力する。   The document operation unit 200 is means for executing an operation on a document. Examples of operations on a document include document display (“browsing” from the user's point of view), editing, printout, reading of a paper document, copying of a paper document, and the like. Although only one document operation unit 200 is shown in the figure, each of these operations may be handled by a separate operation unit (for example, an editing application, a reading control application, or the like). For example, if the document operation unit 200 is software for creating and editing an electronic document such as a word processor, the document operation unit 200 displays the electronic document according to a user instruction or edits the electronic document. Or When an operation is performed on a document, the document operation unit 200 outputs a document 300 with an identifier (ID) that represents the result of the operation.

ID付き文書300は、図3に示すように、メタ情報310と文書内容320を含んだ電子文書である。文書内容320は、文書操作部200の操作の結果生成された文書の内容データである。文書操作部200が電子文書を作成・編集するためのソフトウエアであれば、文書内容320はそのソフトウエアによる編集の結果生成される文書ファイルである。また、文書操作部200が電子文書を印刷する装置であれば、文書内容320は、例えば、印刷される電子文書の内容データとすればよい。また、文書操作部200が紙文書をスキャンする装置又は紙文書を複写する装置であれば、文書内容320は、例えば、その紙文書を読み取って得られる画像データとすればよい。   The ID-added document 300 is an electronic document including meta information 310 and document content 320 as shown in FIG. The document content 320 is document content data generated as a result of the operation of the document operation unit 200. If the document operation unit 200 is software for creating and editing an electronic document, the document content 320 is a document file generated as a result of editing by the software. If the document operation unit 200 is an apparatus that prints an electronic document, the document content 320 may be content data of the electronic document to be printed, for example. If the document operation unit 200 is a device that scans a paper document or a device that copies a paper document, the document content 320 may be, for example, image data obtained by reading the paper document.

メタ情報310は、文書管理のための情報であり、操作ID312,親ID314,及びログ情報316を含む。   The meta information 310 is information for document management, and includes an operation ID 312, a parent ID 314, and log information 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の)派生関係」という。   The operation ID 312 is unique identification information of the ID-added document 300 itself. The parent ID 314 is the operation ID of the parent ID-added document of the ID-added document 300. That is, in this embodiment, a document with an ID and a new document with an ID obtained as a result of an operation performed on the document with the ID are handled as a relationship between a parent and a child. When the second ID-added document is obtained by operating the first ID-added document, the first ID-added document is the parent of the second ID-added document, and the second ID-added document is the first ID-added document. It is a child of an ID-added document. Therefore, for example, when the document with the operation ID “A” is operated by the document operation unit 200 and the operation ID of the new ID-added document obtained as a result is “B”, the latter meta information 310 includes The operation ID 312 is “B”, and the parent ID 314 is “A”. Such a parent-child relationship is hereinafter referred to as a “(operation ID) derivation relationship”.

なお、本システムに未登録の電子文書を新たに登録する操作を実行した場合や、未登録の紙文書をスキャン又は複写する操作を実行した場合(この場合、紙文書を読み取った画像を文書内容とする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 document 300 that is generated), the parent ID 314 is empty (that is, the parent does not exist).

ログ情報316は、当該ID付き文書が生成された際の操作についての、各種のログ項目の情報である。ログ項目には、例えばその操作が行われた時刻、その操作の種別、その操作を指示したユーザ(操作者)などがあるが、もちろんこれに限るものではない。操作の種別には、例えば新規登録(本システムに新規の文書を登録すること)、閲覧、内容更新(文書の内容を変更する操作)、改訂、印刷、スキャン、紙文書の複写、等がある。例えば、ユーザが文書操作部200を用いて第1のID付き文書に対して編集を加え、編集完了の指示を行った場合、その結果生成される第2のID付き文書のログ情報316は、編集完了の時刻と、その編集を指示したユーザの識別情報と、操作の種別として「内容更新」と、を含んだものとなる。また、「改訂」は、この例では、文書構成を更新する場合の操作を指している。なお、「内容更新」と「改訂」とは、構造化文書の内容記述を編集する点では共通である。これら両者の区別は様々な方法で実現できる。例えば、内容更新と改訂とを別のコマンドで呼び出すようにすれば両者の区別は当然に実現できる。また、両者を同じ編集プログラムで実現した場合でも、編集を行ったのが構成編集者であれば操作種別は「改訂」とし、内容編集者であれば「内容変更」とするように、ユーザ種別に応じて区別してもよい。   The log information 316 is information of various log items regarding the operation when the ID-added document is generated. The log items include, for example, the time when the operation was performed, the type of the operation, the user (operator) who instructed the operation, but of course not limited thereto. The types of operations include, for example, new registration (registering a new document in this system), browsing, content updating (operation for changing the content of the document), revision, printing, scanning, copying of a paper document, and the like. . For example, when the user edits the first ID-added document using the document operation unit 200 and gives an instruction to complete editing, the log information 316 of the second ID-added document generated as a result is as follows. The editing completion time, the identification information of the user who instructed the editing, and “update content” as the type of operation are included. In addition, “revision” indicates an operation for updating the document structure in this example. Note that “content update” and “revision” are common in that the content description of the structured document is edited. The distinction between the two can be realized in various ways. For example, if the contents update and revision are called by different commands, the distinction between the two can naturally be realized. In addition, even if both are realized by the same editing program, the operation type is “revision” if the editing is performed by the configuration editor, and the “content change” is selected if the editing is performed by the content editor. You may distinguish according to.

なお、文書操作部200が、操作した文書を暗号化してもよい。この暗号化は、本システムに準拠した文書操作部200ならば、復号できるようなものとする。この場合、文書操作部200が出力するID付き文書300の文書内容320は、暗号化されることにより、本システムに準拠した文書操作部200でないと復号できなくなる。したがって、ID付き文書300が操作される場合には文書操作部200が用いられるので、文書操作部200がその操作を検知し、その操作の内容が文書操作部200から文書管理サーバ10に通知される。なお、文書内容320だけでなく、後述するメタ情報310(またはその一部)に対しても暗号化を施してもよい。   The document operation unit 200 may encrypt the operated document. This encryption can be decrypted by the document operation unit 200 compliant with the present system. In this case, the document content 320 of the ID-added document 300 output from the document operation unit 200 is encrypted, and can be decrypted only by the document operation unit 200 conforming to the present system. Therefore, since the document operation unit 200 is used when the ID-added document 300 is operated, the document operation unit 200 detects the operation, and the content of the operation is notified from the document operation unit 200 to the document management server 10. The Note that encryption may be applied not only to the document content 320 but also to meta information 310 (or a part thereof) described later.

図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 document operation unit 200 includes an ID assignment unit 202 and a meta information incorporation unit 204 in order to create the ID-added document 300 as described above as an operation result. The ID assigning unit 202 is a unit that assigns a unique operation ID to the operation result ID-added document 300. The operation ID needs to be identification information unique at least in the present system. For example, a hash value of the ID-added document 300 (excluding the operation ID 312) generated as a result of the operation may be obtained, and this hash value may be used as the ID-added document of the document 300. As the hash function, a cryptographic hash function having collision resistance such as SHA-256 (SHA-256 is a cryptographic hash function having a 256-bit hash value defined by NIST in FIPS180-2) is used. For example, an operation ID having a practically sufficient uniqueness can be generated. Of course, the method for generating a unique operation ID in the system at each client terminal 20 is not limited to this. If the operation ID includes identification information unique to the client terminal 20, an operation ID unique in the system can be generated at each client terminal 20.

メタ情報組込部204は、操作結果の文書に対しID割り当て部202が割り当てた新たな操作ID312と、その操作の元になった親文書の操作IDである親ID314(新規登録の場合は、親IDは無し)と、その操作についての履歴を表すログ情報316と、を含むメタ情報310を生成する。そして、メタ情報組込部204は、そのメタ情報310を操作結果の文書内容に付加することにより、操作後のID付き文書300を生成して出力する。   The meta information incorporation unit 204 includes a new operation ID 312 assigned by the ID assigning unit 202 to the operation result document, and a parent ID 314 that is the operation ID of the parent document that is the source of the operation (in the case of new registration, And meta information 310 including log information 316 representing a history of the operation. Then, the meta information incorporation unit 204 generates and outputs the post-operation ID-added document 300 by adding the meta information 310 to the operation result document content.

登録処理部210は、文書操作部200が出力したID付き文書300を文書管理サーバ10に登録するための処理を実行する。このように各クライアント端末20が、自ら実行した操作の結果であるID付き文書300を文書管理サーバ10に登録することにより、文書管理サーバ10は各ID付き文書300間の派生関係を把握することができる。   The registration processing unit 210 executes processing for registering the ID-added document 300 output from the document operation unit 200 in the document management server 10. In this way, each client terminal 20 registers the ID-added document 300 that is the result of the operation performed by itself, in the document management server 10, so that the document management server 10 grasps the derivation relationship between the ID-added documents 300. Can do.

文書操作部200が操作の結果出力するID付き文書300は、通常の文書ファイルと同様、電子的にコピーしたり、電子メールに添付するなどの方法で他の人宛に送信したりすることができる。他の人からID付き文書300を受け取った人が、自分のクライアント端末20の文書操作部200を用いてそのID付き文書300を操作すると、その操作に応じて新たな操作IDを付与されたID付き文書が生成されることになる。   The ID-added document 300 output as a result of the operation by the document operation unit 200 may be electronically copied or transmitted to another person by a method such as attaching to an e-mail, like a normal document file. it can. When a person who has received an ID-added document 300 from another person operates the ID-added document 300 using the document operation unit 200 of his / her client terminal 20, an ID assigned a new operation ID according to the operation. An attached document is generated.

また、文書操作部200が電子文書を印刷する場合、操作IDを生成し、その電子文書の印刷結果にその操作IDを埋め込んでもよい。操作IDの埋め込みは、例えば電子文書の印刷画像に、操作IDを示すコード画像を重畳する等の方法で行うことができる。この場合、文書操作部200は、その操作IDや操作種別「印刷」等のメタ情報を含んだID付き文書を文書管理サーバ10に登録する。なお、ID付き文書を印刷した場合には、そのID付き文書の操作IDを親ID314として含んだID付き文書が生成される。印刷操作に対応するID付き文書には、印刷された画像を示すページ記述言語データやビットマップ画像データなどの印刷データを、文書内容320として組み込んでもよい。   When the document operation unit 200 prints an electronic document, an operation ID may be generated and the operation ID may be embedded in the print result of the electronic document. The operation ID can be embedded by, for example, a method of superimposing a code image indicating the operation ID on the print image of the electronic document. In this case, the document operation unit 200 registers an ID-added document including meta information such as the operation ID and the operation type “print” in the document management server 10. When an ID-added document is printed, an ID-added document including the operation ID of the ID-added document as the parent ID 314 is generated. In the ID-added document corresponding to the print operation, print data such as page description language data indicating a printed image or bitmap image data may be incorporated as the document content 320.

また、操作IDが埋め込まれた紙文書を文書操作部200が読み取った場合、文書操作部200は、その読み取り操作に対して新たな操作IDを付与し、読み取り結果の画像を文書内容320として含んだID付き文書を生成して文書管理サーバ10に登録する。このID付き文書の親ID314には、紙文書から読み取った操作IDがセットされる。操作IDが埋め込まれた紙文書の複写の際には、上述した読み取り時と印刷時の処理が実行される。   When the document operation unit 200 reads a paper document in which an operation ID is embedded, the document operation unit 200 assigns a new operation ID to the read operation and includes an image of the read result as the document content 320. The ID-added document is generated and registered in the document management server 10. The operation ID read from the paper document is set in the parent ID 314 of the ID-added document. When copying a paper document in which an operation ID is embedded, the above-described reading and printing processes are executed.

次に、文書管理サーバ10の例について説明する。文書管理サーバ10は、システム内の複数のクライアント端末20から送られてくるID付き文書300を蓄積し、蓄積した情報に基づきユーザに各種のサービスを提供する。図4に示すように、文書管理サーバ10は、文書実体DB100,文書属性DB105,派生関係DB110,文書登録部130,要求処理部140を備える。   Next, an example of the document management server 10 will be described. The document management server 10 accumulates ID-added documents 300 sent from a plurality of client terminals 20 in the system, and provides various services to the user based on the accumulated information. As shown in FIG. 4, the document management server 10 includes a document entity DB 100, a document attribute DB 105, a derivation relationship DB 110, a document registration unit 130, and a request processing unit 140.

文書実体DB100は、クライアント端末20から送られてきたID付き文書300のうちの文書内容320を格納するデータベース(DB)である。文書実体DB100に格納された各文書内容320は、一意な内容IDにより管理される。内容IDとしては、例えば当該文書内容の暗号学的ハッシュ関数によるハッシュ値を用いてもよいが、これに限定されるものではない。クライアント端末20が内容IDを付与してもよく、この場合、内容IDをメタ情報310に組み込んでもよい。   The document entity DB 100 is a database (DB) that stores the document content 320 of the ID-added document 300 sent from the client terminal 20. Each document content 320 stored in the document entity DB 100 is managed by a unique content ID. As the content ID, for example, a hash value by a cryptographic hash function of the document content may be used, but the content ID is not limited to this. The client terminal 20 may give the content ID. In this case, the content ID may be incorporated in the meta information 310.

文書登録部130は、クライアント端末20から受信したID付き文書の中の文書内容320を文書実体DB100に登録する。また文書登録部130は、そのID付き文書の中のメタ情報310のうち、文書属性に関するログ情報316を文書属性DB105に、派生関係の情報(操作ID312及び親ID314)を派生関係DB110に、それぞれ登録する。そのうち、メタ情報の登録を担当するのがメタ情報登録部132である。   The document registration unit 130 registers the document content 320 in the ID-added document received from the client terminal 20 in the document entity DB 100. Also, the document registration unit 130 includes, in the meta information 310 in the ID-added document, log information 316 relating to the document attribute in the document attribute DB 105 and derivation relationship information (operation ID 312 and parent ID 314) in the derivation relationship DB 110, respectively. sign up. Of these, the meta information registration unit 132 is in charge of registering meta information.

文書属性DB105は、ID付き文書300のうち、文書属性を表すログ情報316を蓄積するデータベースである。図5に、文書属性DB105のデータ内容の一例を示す。図5に示した表における1行の情報が、1つのID付き文書300に対応する文書属性レコードである。この例では、各ID付き文書300の操作IDに対応づけて、操作種別、操作者のユーザID、操作日時、部品ID、ユーザ種別の各項目が登録されている。また、図示は省略しているが、文書実体DB100で各文書内容のデータを内容IDで管理している場合には、文書属性レコードには、当該ID付き文書の文書内容の内容IDも含まれる。   The document attribute DB 105 is a database that accumulates log information 316 representing document attributes in the ID-added document 300. FIG. 5 shows an example of the data content of the document attribute DB 105. One row of information in the table shown in FIG. 5 is a document attribute record corresponding to one ID-added document 300. In this example, items of operation type, operator user ID, operation date and time, component ID, and user type are registered in association with the operation ID of each ID-added document 300. Although not shown, when the document entity DB 100 manages data of each document content by content ID, the document attribute record also includes the content ID of the document content of the document with the 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)には、表題の文字列は示されているが、内容は空欄となっている。   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 document management server 10 is a structured document in which a plurality of document parts (that is, document elements) form a tree-structured hierarchical relationship. Of course, the document part itself may be structured. The structured document is described in a structure description language such as XML (eXtensible Markup Language) or HTML (Hypertext Markup Language). A user creates a structured document in which a part ID is assigned to each document part at the client terminal 20 and registers it in the document management server 10. For example, the structured document example (b) illustrated in FIG. 6 is described in XML (however, omitted for the sake of simplicity), and a component ID is assigned to the document component <CONTENT>. It is incorporated as an ID attribute (partID). Incidentally, the example (b) is a structured document including two parts <H1> including a part pair of title <TITLE> and contents <CONTENT>. The title <TITLE> includes a character string of the title as a value of the text attribute (TEXT). In this example (b), the character string of the content component <CONTENT> is not included. If the structured document of the example (b) is displayed, the display example (a) in FIG. 6 is obtained. In the display example (a), the character string of the title is shown, but the content is blank.

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 document content 320 of the document are listed.

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 document attribute DB 105 from the viewpoint of contents, and does not define a specific representation format or database format. For example, the document attribute DB 105 can be constructed as a general relational database, or an XML document describing meta information excluding the operation ID can be constructed as a database in which the operation ID is registered as a key.

以上、文書属性DB105について説明した。メタ情報登録部132は、クライアント端末20からID付き文書300を受信した場合、文書属性DB105にその文書300のためのレコードを作成し、そのレコードの各項目にその文書300中のログ情報316に含まれる各項目の値を登録する。   The document attribute DB 105 has been described above. When the meta information registration unit 132 receives the ID-added document 300 from the client terminal 20, the meta information registration unit 132 creates a record for the document 300 in the document attribute DB 105, and stores the log information 316 in the document 300 in each item of the record. Register the value of each included item.

派生関係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 derivation relationship DB 110 is a database that stores information on derivation relationships (parent-child relationships) between ID-added documents. An example of the data contents registered in the derivation relationship DB 110 is shown in FIG. In the example of FIG. 7, a list of operation IDs (indicated as “child ID” in the figure) of child ID-added documents derived from the document is registered in association with the operation ID of the ID-added document. For example, when the ID-added document 300 having the operation ID 312 of “ID2” and the parent ID 314 of “ID1” is input, the meta information incorporation unit 204 sets the child ID of the record of the operation ID “ID1” in the derivation relationship DB 110. The value “ID2” of the operation ID 312 in the document 300 is added to the list. The data content illustrated in FIG. 7 corresponds to the document attribute record group illustrated in FIG. Note that the data structure as shown in FIG. 7 is merely an example. For example, instead of this, a data structure that holds the operation ID of the parent document of the document (the parent is always one) in association with the operation ID of the document with ID may be used. Further, both of them may be stored in the derivation relationship DB 110.

図7に示した派生関係DB110のデータ内容は、図8のような木構造を成す。これは、操作IDをノードとし、操作ID間の親子関係をエッジとする木構造である。   The data content of the derivation relationship DB 110 shown in FIG. 7 has a tree structure as shown in FIG. This is a tree structure with operation IDs as nodes and parent-child relationships between operation IDs as edges.

図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 document management server 10 implements a work in which a plurality of people collaborate on one document including a plurality of document parts.

この例では、まず構成編集者であるユーザ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 user 1 who is a configuration editor first creates an electronic document in which the configuration of a document to be collaboratively edited together with content editors is described in XML, for example, at his client terminal 20. The created electronic document is assigned an operation ID “ID1” and registered in the document management server 10 (see the first record in FIG. 5). Here, it is assumed that this document “ID1” is the structured document illustrated in FIG. In this case, component IDs “# 1” and “# 2” are recorded in the component ID column of the document attribute record. The component ID of each document component included in the document may be detected by either the meta information incorporation unit 204 of the client terminal 20 or the meta information registration unit 132 of the document management server 10. For example, if the arrangement is made that the part ID is described as the attribute value of the attribute name “partID”, the character string of the document content is analyzed and the value of “partID” is detected and recorded in the document. The part ID of the included document part can be extracted. Note that the contents <CONTENT> of the components “# 1” and “# 2” of the document “ID1” are empty.

また、クライアント端末20又は文書管理サーバ10は、自身が持つ、あるいはネットワーク上のサーバに記憶されたユーザIDとユーザ種別の対応関係の情報を参照することで、文書に対して操作を行ったユーザに対応するユーザ種別を求めればよい。   Also, the client terminal 20 or the document management server 10 refers to the user ID or user type correspondence information stored in the server on the network, or the user who has operated the document. What is necessary is just to obtain | require the user classification corresponding to.

内容編集者は、文書管理サーバ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 document management server 10 or via an e-mail or the like from the configuration editor. The content editor deletes document parts other than the document parts that he is in charge of from the document contents of the received ID-added document, and creates or edits the contents of the document parts he is in charge of. It should be noted that the deletion of document parts other than the document part that the user is in charge of is performed in a later process in order to identify the document part edited by each person in charge, and the deletion itself is for the present invention. It is not essential, and the edited document part in the document content can be specified without deleting. For example, by creating a difference between a document before editing and a document after editing, the editing location can be specified. The algorithm for calculating the difference is detailed in, for example, E. Myers (1986). “An O (ND) Difference Algorithm and Its Variations”. Algorithmica 1 (2): 251-266. In another method, an edited date / time attribute is assigned to the edited document part, and the document part having the subsequent editing date / time can be identified as an editing portion by comparing the edited date / time attribute with the editing date / time of the document before editing.

この例では、文書部品“#1”を担当するユーザ2及び文書部品“#2”を担当するユーザ3が文書“ID1”を取得する。   In this example, the user 2 in charge of the document part “# 1” and the user 3 in charge of the document part “# 2” acquire the document “ID1”.

次にユーザ2が、自分のクライアント端末20でその文書“ID1”を開き、その文書から文書部品“#2”を削除し、文書部品“#1”の内容を作成する。この結果作成された文書は、操作ID“ID2”を付与され、文書管理サーバ10に登録される(図5の2番目のレコード参照)。ここでは文書“ID2”が図9に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図9の例(a)である。   Next, the user 2 opens the document “ID1” on his / her client terminal 20, deletes the document part “# 2” from the document, and creates the contents of the document part “# 1”. The document created as a result is assigned the operation ID “ID2” and registered in the document management server 10 (see the second record in FIG. 5). Here, it is assumed that the document “ID2” is a structured document as in the example (b) shown in FIG. A display example of this structured document is the example (a) of FIG.

次に、構成編集者であるユーザ1が文書“ID1”を開いて文書構成を改訂したとする。この改訂では、図10に示すように、1番目及び2番目の文書部品の表題<TITLE>の文字列を変更すると共に、3番目の文書部品“#3”を追加している。図10の例(b)は改訂された文書構成を記述した構造化文書を示し、例(a)はその構造化文書の表示例を示す。改訂された文書は、操作ID“ID3”を付与され、文書管理サーバ10に登録される(図5の3番目のレコード参照)。   Next, it is assumed that the user 1 who is a composition editor opens the document “ID1” and revises the document structure. In this revision, as shown in FIG. 10, the character string of the title <TITLE> of the first and second document parts is changed and the third document part “# 3” is added. An example (b) of FIG. 10 shows a structured document describing a revised document structure, and an example (a) shows a display example of the structured document. The revised document is assigned the operation ID “ID3” and registered in the document management server 10 (see the third record in FIG. 5).

次にユーザ3が、取得した文書“ID1”を開き、その文書から文書部品“#1”を削除し、文書部品“#2”の内容を作成する。この結果作成された文書は、操作ID“ID4”を付与され、文書管理サーバ10に登録される(図5の4番目のレコード参照)。ここでは文書“ID4”が図11に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図11の例(a)である。   Next, the user 3 opens the acquired document “ID1”, deletes the document part “# 1” from the document, and creates the contents of the document part “# 2”. The document created as a result is given the operation ID “ID4” and registered in the document management server 10 (see the fourth record in FIG. 5). Here, it is assumed that the document “ID4” is a structured document such as the example (b) shown in FIG. A display example of this structured document is the example (a) of FIG.

次にユーザ4が、文書“ID3”を取得して開き、その文書から文書部品“#1”及び“#2”を削除し、文書部品“#3”の内容を作成する。この結果作成された文書は、操作ID“ID5”を付与され、文書管理サーバ10に登録される(図5の5番目のレコード参照)。ここでは文書“ID4”が図12に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図12の例(a)である。   Next, the user 4 acquires and opens the document “ID3”, deletes the document parts “# 1” and “# 2” from the document, and creates the contents of the document part “# 3”. The document created as a result is given the operation ID “ID5” and registered in the document management server 10 (see the fifth record in FIG. 5). Here, it is assumed that the document “ID4” is a structured document such as the example (b) shown in FIG. A display example of the structured document is an example (a) of FIG.

そして、ユーザ2が、先に作成した文書“ID2”を開き、文書部品“#2”の内容を編集する。この結果内容が変更された文書は、操作ID“ID6”を付与され、文書管理サーバ10に登録される(図5の6番目のレコード参照)。ここでは文書“ID6”が図13に示した例(b)のような構造化文書であるとする。この構造化文書の表示例が、図13の例(a)である。   Then, the user 2 opens the previously created document “ID2” and edits the content of the document part “# 2”. The document whose contents are changed as a result is given the operation ID “ID6” and registered in the document management server 10 (see the sixth record in FIG. 5). Here, it is assumed that the document “ID6” is a structured document like the example (b) shown in FIG. A display example of the structured document is an example (a) of FIG.

以上、このシステムにおける文書操作の情報の登録の様子を説明した。   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 request processing unit 140 provides a service using the document entity DB 100, the document attribute DB 105, and the derivation relationship DB 110 in response to a service request including the operation ID from the client terminal 20.

サービス要求は、クライアント端末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 document operation unit 200 of the client terminal 20, the document operation unit 200 provides a service menu using the derivation relationship, and the service desired by the user from the menu is provided. The specification of is accepted. Then, a service request including the operation ID of the document with ID and a code indicating the designated service is transmitted to the request processing unit 140 of the document management server 10. In addition to the operation ID and the code indicating the service, other information such as the identification information of the instructing user and the authentication information input by the user is transmitted from the client terminal 20 to the request processing unit 140. Also good.

また、別の例として、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 document management server 10. In this case, the request processing unit 140 determines a service to be provided based on the operation type information in the received ID-added document, and similarly uses the parent ID in the ID-added document as a starting point for the process of tracing the derivation relationship.

要求処理部140は、クライアント端末20からサービス要求を受けた場合、そのサービス要求中に指定された操作IDを起点に、派生関係DB110に登録された操作IDと親IDとの派生関係群が構成する木を走査(トラバース)し、その走査の結果得られた情報を用いて、ユーザから要求されたサービスを実行する。   When the request processing unit 140 receives a service request from the client terminal 20, the derivation relation group of the operation ID and the parent ID registered in the derivation relation DB 110 is configured with the operation ID specified in the service request as a starting point. The tree requested is traversed, and the service requested by the user is executed using the information obtained as a result of the scanning.

要求処理部140が提供するサービスとして、以下では共同編集の実現のために文書部品群を合成するサービスを説明する。このサービスのために、要求処理部140は、文書合成部142及び文書検索部144を備える。文書合成部142は、複数の文書部品を合成するための処理を行う。文書検索部144は、文書合成部142から要求された文書部品を検索する。   As a service provided by the request processing unit 140, a service for synthesizing a group of document parts for realizing collaborative editing will be described below. For this service, the request processing unit 140 includes a document composition unit 142 and a document search unit 144. The document synthesis unit 142 performs processing for synthesizing a plurality of document parts. The document search unit 144 searches for a document part requested by the document composition unit 142.

構成編集者が自分のクライアント端末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 document management server 10.

この指示を受け取った文書管理サーバ10は、文書合成部142を呼び出す。これに応じて文書合成部142が実行する処理手順の一例を図14に示す。   Upon receiving this instruction, the document management server 10 calls the document composition unit 142. An example of the processing procedure executed by the document composition unit 142 in response to this is shown in FIG.

この手順では、文書合成部142は、まず、文書合成指示の対象に指定された文書(すなわち、その指示に含まれる操作IDに対応する文書。「指定文書」と呼ぶ)の文書内容を文書実体DB100から取得し、その文書内容を解析することで、指定文書の文書構成(すなわち文書部品群が構成する論理構造又は章立て構造)を求め(S1)、その文書内容の中に含まれる部品IDのリストを生成する(S2)。このリストには、共同編集文書を合成するために必要な文書部品の部品IDが列挙されることになる。例えば、指定文書が図5に示した文書“ID3”(図10の例(b)参照)であれば、このリストには部品ID“#1”,“#2”,“#3”が含まれることになる。   In this procedure, the document synthesizing unit 142 first determines the document content of a document designated as a target of the document synthesis instruction (that is, a document corresponding to the operation ID included in the instruction; referred to as “designated document”). The document structure of the specified document (that is, the logical structure or chapter structure formed by the document component group) is obtained by analyzing the document content acquired from the DB 100 (S1), and the component ID included in the document content (S2). In this list, part IDs of document parts necessary for synthesizing the jointly edited document are listed. For example, if the designated document is the document “ID3” shown in FIG. 5 (see the example (b) in FIG. 10), the parts IDs “# 1”, “# 2”, and “# 3” are included in this list. Will be.

次に文書合成部142は、文書検索部144に対し、指定文書の文書ファミリーの収集を要求する(S3)。ここでいう文書ファミリーは、派生関係DB110に含まれる派生関係群が構成する1以上の木のうちで、指定文書が属する木に含まれるID付き文書の集合のことである。ただし、ここでは、共同編集文書の合成が目的なので、その木に含まれるID付き文書のうち、操作種別が「内容更新」に該当するものだけを収集することとし、その収集の結果できる文書の集合を文書ファミリーと呼ぶ。文書管理サーバ10に登録されるID付き文書の中には、閲覧や印刷などといった文書内容の更新を伴わない操作の結果もあるので、そのようなものは収集の対象から外すのである。また、操作種別が「改訂」であるID付き文書は文書構成を示すものであるが、共同編集文書の文書構成は指定文書から求めることができるので、そのようなID付き文書は収集する必要がない。   Next, the document composition unit 142 requests the document search unit 144 to collect the document family of the designated document (S3). The document family here is a set of ID-added documents included in the tree to which the designated document belongs among one or more trees formed by the derivation relationship group included in the derivation relationship DB 110. However, since the purpose here is to synthesize collaboratively-edited documents, only the documents with IDs included in the tree and whose operation type corresponds to “content update” are collected. A set is called a document family. Some ID-added documents registered in the document management server 10 are the result of an operation that does not involve updating the document contents, such as browsing or printing, so such documents are excluded from collection targets. An ID-added document whose operation type is “revision” indicates a document structure. However, since the document structure of a collaboratively edited document can be obtained from a designated document, it is necessary to collect such ID-added documents. Absent.

この収集の要求を受けた場合、文書検索部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 document search unit 144 refers to the derivation relationship DB 110 and identifies the root of the tree to which the designated document belongs by tracing the designated document back to its ancestors. For example, in the example of FIGS. 5, 7, and 8, when the designated document is “ID3”, the parent of “ID3” can be identified as “ID1” by the derivation relationship DB 110 (see FIG. 7). Since the parent is not found, it can be determined that “ID1” is the root. Then, using the information of the derivation relation DB 110 starting from the identified root, each node (operation ID) extending from the root is circulated in the order of travel, and among the operation IDs that are encountered in the course of the operation, the operation type Document attributes and document entities for which “content update” is collected from the document attribute DB 105 and the document entity DB 100. Each collected document attribute / document entity pair is recorded together with the collection order. An example of document family information collected by the document search unit 144 is shown in FIG. This corresponds to the examples of FIGS. As illustrated, each record included in the document family information includes a collection order number, a document attribute (“operation ID” to “part ID”), and a document entity (“content”). The document search unit 144 passes the collected document family information to the document composition unit 142.

再び図14の説明に戻る。文書合成部142は、文書検索部144から文書ファミリー情報を受け取ると(S4)、収集順序の若い順にレコードを取り出し(S5)、取り出したレコード中の文書実体(「内容」)を、ステップS2で作成したリスト中の対応する部品ID(すなわち当該レコード中の部品IDと同じ値の部品ID)に関連づけて登録する(S6)。以上のステップS5及びS6の処理を、文書ファミリー情報の全レコードの処理が終わるまで繰り返す(S7)。   Returning to the description of FIG. When the document composition unit 142 receives the document family information from the document search unit 144 (S4), the document composition unit 142 extracts records in ascending order of collection order (S5), and the document entity (“content”) in the extracted record is obtained in step S2. Registration is performed in association with the corresponding component ID in the created list (that is, the component ID having the same value as the component ID in the record) (S6). The processes in steps S5 and S6 are repeated until all the records of the document family information are processed (S7).

ここで、ステップ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 document composition unit 142 determines the logic of each document part in the document structure obtained in step S1 as the document entity (contents) of each document part included in the list. The document of the joint editing result is synthesized by incorporating it at the target position (S8).

図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 user 2 and the user 3 receive the ID-added document “ID1” indicating the document structure, the document is revised to become an ID-added document “ID3”, and the number of document parts increases and the existing document parts are added. The title string is also changed. However, the user 2 and the user 3, without being aware of such changes, edit the document contents of the document parts that they are responsible for in the acquired document “ID 1” and register them in the document management server 10. Just do it. Since the title character string is taken from the document “ID3” indicating the document structure, the user 2 and the user 3 do not have to change the title character string.

以上、文書合成部142による合成処理について説明したが、このような合成処理は、特開2004−86855号公報に記載された方式や、特開2007−156965号公報に記載された方式で実現することができる。以下では、後者の方式で実現する場合の処理例を説明する。   The composition processing by the document composition unit 142 has been described above. Such composition processing is realized by the method described in Japanese Patent Application Laid-Open No. 2004-86855 or the method described in Japanese Patent Application Laid-Open No. 2007-156965. be able to. Hereinafter, a processing example in the case of realizing the latter method will be described.

特開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 document composition unit 142 then collects in step S4. The document family (see FIG. 15) is combined with the directory record template to complete the directory record. That is, the records of the document family are extracted in the order of collection, and the value of the “content” column of the extracted record is written in the body column of the record in the directory record having the same part ID as the record. If the content has already been written in the body field, the value in the “content” field of the extracted record is overwritten on the already written content. As described above, the directory record is completed. 5 to 15, the completed directory record is as shown in FIG.

ディレクトリレコードが完成すると、文書合成部142は、これにテンプレートを適用することで、共同編集結果の文書を完成させる。ディレクトリレコードに対するテンプレートの適用処理では、特開2007−156965号公報の例えば段落0049〜0084に例示される処理を行えばよい。このような処理により、例えば図16の例(b)に例示したような共同編集結果の文書が生成される。   When the directory record is completed, the document synthesizing unit 142 applies the template to the directory record, thereby completing the collaborative editing result document. In the template application process for the directory record, the process exemplified in paragraphs [0049] to [0084] of Japanese Patent Application Laid-Open No. 2007-156965 may be performed. As a result of such processing, for example, a collaborative editing result document as illustrated in the example (b) of FIG. 16 is generated.

このように、以上に説明した実施の形態によれば、内容編集者は、自分の担当する文書部品を文書管理サーバ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 document management server 10, the document part corresponds to which part in the structured document. You do not need to specify whether to do it. Further, creation / editing of document parts by the content editor and editing of the configuration by the configuration editor can be executed in parallel. In addition, even if the content editor updates the contents of a document part after the composition editor has revised the document structure, the content editor will determine which part of the revised document structure the updated document will be reflected in. There is no need to specify.

以上に例示した実施形態では、操作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 document management server 10 may issue the operation ID instead. In this case, when the operation is performed on the ID-added document, the client terminal 20 includes the operation ID in the ID-added document before the operation as the parent ID 314, and further includes log information 316 about the operation and the document content after the operation. 320, the operation ID 312 generates blank document data and sends it to the document management server 10. The document management server 10 assigns a new operation ID to the received document data, and registers information included in the operation ID and the document data in the document entity DB 100, the document attribute DB 105, and the derivation relationship DB 110. Further, the document management server 10 generates an ID-added document by setting the assigned operation ID in the document data, and returns it to the client terminal 20. The client terminal 20 replaces the ID-added document before the operation with the received ID-added document. Thus, even in the configuration in which the document management server 10 assigns the operation ID, the processing of the above-described embodiment can be executed in the same manner.

また以上の実施形態では、操作ID312、親ID314、ログ情報316、及び文書内容320を含んだID付き文書300がクライアント端末20に保存されたが、この代わりに、クライアント端末20は操作IDしか持たず、その他の情報は文書管理サーバ10に保存されるようにしてもよい。この場合、クライアント端末20で文書を操作する場合、その文書に対応する操作IDを文書管理サーバ10に送り、文書管理サーバ10からその文書を取得する。   In the above embodiment, the ID-added document 300 including the operation ID 312, the parent ID 314, the log information 316, and the document content 320 is stored in the client terminal 20. Instead, the client terminal 20 has only the operation ID. Instead, other information may be stored in the document management server 10. In this case, when a document is operated on the client terminal 20, an operation ID corresponding to the document is sent to the document management server 10 and the document is acquired from the document management server 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に蓄積されることになる。   Here, when the document management server 10 assigns an operation ID, the document management server 10 generates an operation ID corresponding to the acquisition operation, and provides the operation ID and the document in association with each other to the client 20. The log information (operation time, operator, etc.), the original operation ID (that is, the parent ID), and the assigned operation ID are recorded in the derivation relationship DB 110. The client terminal 20 replaces the operation ID transmitted to the document management server 10 with the received operation ID and opens the received document. The user performs operations such as browsing and editing on the opened document. When the operation on the document is completed, the client terminal 20 sends the document after the operation to the document management server 10 together with the operation ID and log information about the operation. The document management server 10 assigns a new operation ID to the received document and registers it in the derivation relationship DB 110, and registers the received operation ID in the derivation relationship DB 110 as a parent ID. Also, the received log information and the document after the operation are registered in the document attribute DB 105 and the document entity DB 100. Then, the document management server 10 returns the newly assigned operation ID to the client terminal 20. The client terminal 20 replaces the original operation ID with the received operation ID. Through the processing as described above, the derivation relationship between operations is accumulated in the document management server 10.

一方、クライアント端末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 document management server 10 may return a document corresponding to the operation ID received from the client terminal 20 to the client. The client terminal 20 opens the received document, and the user operates the document. After the operation is completed, the client terminal 20 assigns a new operation ID to the operation result document, and sends the same information as the above-described ID-added document including the operation ID to the document management server 10. Then, the client terminal 20 stores only the operation ID in the ID-added document and deletes other information.

以上に例示した実施の形態及び変形例における文書管理サーバ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 document management server 10 in the embodiment and the modification exemplified above is realized, for example, by causing a general-purpose computer to execute a program representing the processing of each functional module described above. Here, for example, as shown in FIG. 22, the computer includes, as hardware, a microprocessor such as a CPU 1000, a memory (primary storage) such as a random access memory (RAM) 1002 and a read only memory (ROM) 1004, an HDD ( HDD controller 1008 that controls (hard disk drive) 1006, various I / O (input / output) interfaces 1010, network interface 1012 that performs control for connection to a network such as a local area network, and the like via bus 1014, for example. Connected to each other. In addition, for example, a disk drive 1016 for reading from and / or writing to a portable disk recording medium such as a CD or a DVD, a portable memory of various standards, such as a flash memory via the I / O interface 1010 to the bus 1014. A memory reader / writer 1018 for reading from and / or writing to the nonvolatile recording medium may be connected. A program in which the processing contents of each functional module exemplified above are described is stored in a fixed storage device such as a hard disk drive via a recording medium such as a CD or DVD, or via a communication means such as a network, and stored in a computer. Installed. The program stored in the fixed storage device is read into the RAM 1002 and executed by a microprocessor such as the CPU 1000, whereby the functional module group exemplified above is realized. Some or all of these functional module groups are used as hardware circuits such as dedicated LSI (Large Scale Integration), ASIC (Application Specific Integrated Circuit), or FPGA (Field Programmable Gate Array). It may be configured.

文書管理システムの概略構成の例を示すブロック図である。It is a block diagram which shows the example of schematic structure of a document management system. クライアント端末の内部構成の例を示すブロック図である。It is a block diagram which shows the example of an internal structure of a client terminal. ID付き文書のデータ構造の例を模式的に示す図である。It is a figure which shows typically the example of the data structure of a document with ID. 文書管理サーバの内部構成の例を示すブロック図である。It is a block diagram which shows the example of an internal structure of a document management server. 文書属性DBのデータ内容の一例を示す図である。It is a figure which shows an example of the data content of document attribute DB. 文書構成を表す構造化文書の表示例及びXMLでの記述例を示す図である。It is a figure which shows the example of a display of the structured document showing a document structure, and the description example in XML. 派生関係DBのデータ内容の一例を示す図である。It is a figure which shows an example of the data content of derivation relation DB. 派生関係がなす木構造の一例を示す図である。It is a figure which shows an example of the tree structure which a derivation relationship makes. 文書部品の内容を記述した構造化文書の表示例及びXMLでの記述例を示す図である。It is a figure which shows the example of a display of the structured document which described the content of the document component, and the example of description in XML. 改訂された文書構成を表す構造化文書の表示例及びXMLでの記述例を示す図である。It is a figure which shows the example of a display of the structured document showing the revised document structure, and the example of description in XML. 別の文書部品の内容を記述した構造化文書の表示例及びXMLでの記述例を示す図である。It is a figure which shows the example of a display of the structured document which described the content of another document component, and the example of description in XML. 更に別の文書部品の内容を記述した構造化文書の表示例及びXMLでの記述例を示す図である。It is a figure which shows the example of a display of the structured document which described the content of another document component, and the example of description in XML. 修正された文書部品の内容を記述した構造化文書の表示例及びXMLでの記述例を示す図である。It is a figure which shows the example of a display of the structured document which described the content of the corrected document component, and the example of description in XML. 文書合成部の処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence of a document synthetic | combination part. 文書検索部が収集した文書ファミリーの情報の一例を示す図である。It is a figure which shows an example of the information of the document family which the document search part collected. 文書合成部が出力する共同編集結果の文書の表示例及びXMLでの記述例を示す図である。It is a figure which shows the example of a display of the document of the joint edit result which a document synthetic | combination part outputs, and the example of description in XML. 具体例の文書のパースツリーを示す図である。It is a figure which shows the parse tree of the document of a specific example. パースツリーに対して適用する変換ルールセットの一例を示す図である。It is a figure which shows an example of the conversion rule set applied with respect to a parse tree. 生成されるテンプレートの例を示す図である。It is a figure which shows the example of the template produced | generated. 生成されるディレクトリレコードのひな形の例を示す図である。It is a figure which shows the example of the model of the directory record produced | generated. 完成したディレクトリレコードの例を示す図である。It is a figure which shows the example of the completed directory record. コンピュータのハードウエア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a computer.

符号の説明Explanation of symbols

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)

情報処理装置から、第1の構造化文書に対して行われた操作の種類と、当該操作の結果である第2の構造化文書と、を受信した場合に、前記操作の種類と前記第2の構造化文書とを対応づけて記憶装置に登録すると共に、前記第2の構造化文書が前記第1の構造化文書の子であることを示す派生関係を前記記憶装置に登録する登録手段と、
前記記憶装置に記憶された派生関係群がなす木構造のうちユーザから指定された構造化文書を含む木に属する構造化文書であって、対応する操作の種類が文書内容の更新に該当する構造化文書を特定する特定手段と、
前記指定された構造化文書に含まれる各文書部品の部品識別子を特定し、それら各部品識別子を持つ構造化文書を前記特定手段が特定した構造化文書群の中から検索する検索手段であって、前記特定手段が特定した構造化文書群の中に同じ部品識別子を持つ構造化文書が複数あった場合はそれら複数のうち前記木において最も葉に近いものを検索することを特徴とする検索手段と、
前記検索手段が検索した前記各部品識別子を持つ構造化文書を、前記指定された構造化文書における前記各部品識別子に対応する要素に組み込むことで、合成文書を生成する生成手段と、
を備える文書合成システム。
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.
JP2008148328A 2008-06-05 2008-06-05 Document composition system and program Expired - Fee Related JP5169505B2 (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541115A (en) * 2010-10-26 2013-11-07 マイクロソフト コーポレーション Synchronizing online document editing

Citations (3)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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