(57)【要約】【課題】メンテナンスが容易で、各々のユーザ毎に柔軟な定義を行えることが可能な、またデータの２次利用が容易なドキュメント管理技術を提供すること。【解決手段】電子化されたドキュメントを管理するドキュメント管理システムに係り、ドキュメントの登録対象部分を定義するドキュメント定義手段Ａ００３と、定義されたドキュメントを編集するドキュメント編集手段Ａ００４と、編集されたドキュメント（送信データＡ００５）を受信し解析してＸＭＬデータ化する受信・解析手段Ａ００７と、解析されたＸＭＬデータをＮａｔｉｖｅ ＸＭＬデータベースＡ００９に登録するデータベース登録手段Ａ００８と、Ｎａｔｉｖｅ ＸＭＬデータベースＡ００９に登録されたドキュメントを検索するドキュメント検索手段Ａ０１０と、Ｎａｔｉｖｅ ＸＭＬデータベースＡ００９に登録されたドキュメントの差分を検出する差分検出手段Ａ０１１を有する。【選択図】図１
2010224869.tif 000002
【特許請求の範囲】
【請求項１】
電子化されたドキュメントを管理するドキュメント管理システムにおいて、
前記ドキュメントに対し登録対象部分を定義するドキュメント定義手段と、該定義されたドキュメントを編集するドキュメント編集手段と、前記定義され編集されたドキュメントを受信し解析してＸＭＬデータ化する受信・解析手段と、該受信し解析されたＸＭＬデータをＮａｔｉｖｅ ＸＭＬデータベースに登録するデータベース登録手段と、該Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントを検索するドキュメント検索手段と、前記Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントの差分を検出する差分検出手段を有することを特徴とするドキュメント管理システム。
【請求項２】
前記ドキュメント定義手段は、ドキュメント内の既存の定義情報を読み込み、ドキュメント定義画面を表示して、定義したい登録対象部分の文字列範囲を選択させ、定義名称を入力させ、前記選択された文字列範囲の座標を取得し、該文字列範囲の座標と前記定義名を合わせてドキュメントの末尾に定義情報として付加する手段であることを特徴とする請求項1記載のドキュメント管理システム。
【請求項３】
前記ドキュメント編集手段は、ドキュメント内の既存の定義情報を読み込み、ドキュメントの編集操作が文字列の追加の場合には文字列の入力処理を行わせ、ドキュメントの編集操作が文字列の削除の場合には文字列の削除処理を行わせる手段であることを特徴とする請求項１または２記載のドキュメント管理システム。
【請求項４】
前記ドキュメント受信・解析手段は、受信したデータから定義情報を読み込み、定義名と該定義名に対する座標の一覧を取得し、定義名毎の座標に対応する文字列を取得し、ＸＭＬ形式に変換する手段であることを特徴とする請求項１から３の何れかに記載のドキュメント管理システム。
【請求項５】
電子化されたドキュメントを管理するドキュメント管理方法において、
前記ドキュメントに対し登録対象部分を定義するドキュメント定義手順と、該定義されたドキュメントを編集するドキュメント編集手順と、前記定義され編集されたドキュメントを受信し解析してＸＭＬデータ化する受信・解析手順と、該受信し解析されたＸＭＬデータをＮａｔｉｖｅ ＸＭＬデータベースに登録するデータベース登録手順と、該Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントを検索するドキュメント検索手順と、前記Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントの差分を検出する差分検出手順を有することを特徴とするドキュメント管理方法。
【請求項６】
前記ドキュメント定義手順は、ドキュメント内の既存の定義情報を読み込み、ドキュメント定義画面を表示して、定義したい登録対象部分の文字列範囲を選択させ、定義名称を入力させ、前記選択された文字列範囲の座標を取得し、該文字列範囲の座標と前記定義名を合わせてドキュメントの末尾に定義情報として付加する手順であり、前記ドキュメント編集手順は、ドキュメント内の既存の定義情報を読み込み、ドキュメントの編集操作が文字列の追加の場合には文字列の入力処理を行わせ、ドキュメントの編集操作が文字列の削除の場合には文字列の削除処理を行わせる手順であり、前記ドキュメント受信・解析手順は、受信したデータから定義情報を読み込み、定義名と該定義名に対する座標の一覧を取得し、定義名毎の座標に対応する文字列を取得し、ＸＭＬ形式に変換する手順であることを特徴とする請求項５記載のドキュメント管理方法。
【請求項７】
コンピュータを、請求項１から４の何れかに記載のドキュメント管理システムにおける各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化されたドキュメントデータを管理するドキュメント管理技術に係り、特に、Ｎａｔｉｖｅ ＸＭＬデータベースを用い一元管理するためのドキュメント管理システムおよびドキュメント管理方法ならびにそのためのプログラムに関するものである。
【背景技術】
【０００２】
従来のＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ Ｍａｒｋｕｐ Ｌａｎｇｕａｇｅ）を用いたドキュメント管理技術では、ＸＭＬドキュメントをＲＤＢ（Ｒｅｌａｔｉｏｎａｌ Ｄａｔａｂａｓｅ；リレーショナルデータベース）に登録し、問い合わせユニット等により登録したＸＭＬデータへの問い合わせを受け付ける方法を採用していた。
【０００３】
データベース登録時には、入力されたＸＭＬドキュメントとリレーショナルデータベースのテーブルをマッピングし、データベースに登録する。この規則は、ある要素に含まれる要素値および属性値のうち、出現数の上限が定まっているものについては、その要素に対応する階層のテーブルに前記上限の数のフィールドを設けてそれらの値を格納するように定められる（特許文献１参照）
【０００４】
このように、従来のドキュメント管理システムでは、ドキュメントの検索自体は可能なものの、ドキュメントの差分検出等ドキュメントの２次利用を考慮した機能は十分ではなかった。また、従来のドキュメント管理システムは、リレーショナルデータベースと連携しているものが多いため、データの２次利用を行う際には登録するドキュメントに対して厳密な定義を行う必要であった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１２６８０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したように、従来のドキュメント管理システムは、ドキュメントに対して事前に厳密な定義づけを行いリレーショナルデータベース等に登録を行う方法を行っていた。この従来の方法では、定型フォーマットのドキュメントしか取り扱うことができず、すでに作成されている過去のドキュメントやユーザ毎に作成される定型外のフォーマットのドキュメントを取り扱うことは難しいという課題があった。これらの課題を解消し、メンテナンスが容易で、かつ各々のユーザ毎に柔軟な定義を行えることが可能な、またデータの２次利用が容易なドキュメント管理技術が要望されている。
【０００７】
そこで、本発明の目的は、メンテナンスが容易で、かつ各々のユーザ毎に柔軟な定義を行えることが可能な、またデータの２次利用が容易なドキュメント管理技術を提供することである。
【０００８】
本発明のより具体的な目的は、ユーザが各自に自由なフォーマットのドキュメントを作成し、それらを検索等が可能なデータベースに取り込むことができ、また既に作成されている古いフォーマットのドキュメントなどをデータベースに取り込み検索等ができ、また差分検出も考慮に入れドキュメントに対して、項目の追加・変更・削除を検出することができ、さらに編集の際にドキュメントの編集に合わせて定義データを追従させることができるドキュメント管理システムおよびドキュメント管理方法ならびにそのためのプログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、上記目的を達成するために、次の如き構成を有する。
ａ）本発明に係るドキュメント管理システムは、電子化されたドキュメントを管理するドキュメント管理システムにおいて、前記ドキュメントに対し登録対象部分を定義するドキュメント定義手段と、該定義されたドキュメントを編集するドキュメント編集手段と、前記定義され編集されたドキュメントを受信し解析してＸＭＬデータ化する受信・解析手段と、該受信し解析されたＸＭＬデータをＮａｔｉｖｅ ＸＭＬデータベースに登録するデータベース登録手段と、該Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントを検索するドキュメント検索手段と、前記Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントの差分を検出する差分検出手段を有する。
【００１０】
ｂ）また、前記ドキュメント定義手段は、ドキュメント内の既存の定義情報を読み込み、ドキュメント定義画面を表示して、定義したい登録対象部分の文字列範囲を選択させ、定義名称を入力させ、前記選択された文字列範囲の座標を取得し、該文字列範囲の座標と前記定義名を合わせてドキュメントの末尾に定義情報として付加する手段であること、前記ドキュメント編集手段は、ドキュメント内の既存の定義情報を読み込み、ドキュメントの編集操作が文字列の追加の場合には文字列の入力処理を行わせ、ドキュメントの編集操作が文字列の削除の場合には文字列の削除処理を行わせる手段であること、前記ドキュメント受信・解析手段は、受信したデータから定義情報を読み込み、定義名と該定義名に対する座標の一覧を取得し、定義名毎の座標に対応する文字列を取得し、ＸＭＬ形式に変換する手段であることを特徴とする。
【００１１】
ｃ）本発明に係るドキュメント管理方法は、電子化されたドキュメントを管理するドキュメント管理方法において、前記ドキュメントに対し登録対象部分を定義するドキュメント定義手順と、該定義されたドキュメントを編集するドキュメント編集手順と、前記定義され編集されたドキュメントを受信し解析してＸＭＬデータ化する受信・解析手順と、該受信し解析されたＸＭＬデータをＮａｔｉｖｅ ＸＭＬデータベースに登録するデータベース登録手順と、該Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントを検索するドキュメント検索手順と、前記Ｎａｔｉｖｅ ＸＭＬデータベースに登録されたドキュメントの差分を検出する差分検出手順を有することを特徴とする。
【００１２】
ｄ）また、前記ドキュメント定義手順は、ドキュメント内の既存の定義情報を読み込み、ドキュメント定義画面を表示して、定義したい登録対象部分の文字列範囲を選択させ、定義名称を入力させ、前記選択された文字列範囲の座標を取得し、該文字列範囲の座標と前記定義名を合わせてドキュメントの末尾に定義情報として付加する手順であり、前記ドキュメント編集手順は、ドキュメント内の既存の定義情報を読み込み、ドキュメントの編集操作が文字列の追加の場合には文字列の入力処理を行わせ、ドキュメントの編集操作が文字列の削除の場合には文字列の削除処理を行わせる手順であり、前記ドキュメント受信・解析手順は、受信したデータから定義情報を読み込み、定義名と該定義名に対する座標の一覧を取得し、定義名毎の座標に対応する文字列を取得し、ＸＭＬ形式に変換する手順であることを特徴とする。
【００１３】
ｅ）本発明に係るプログラムは、コンピュータを、上記ドキュメント管理システムにおける各手段として機能させるためのプログラムである。
【発明の効果】
【００１４】
本発明における、ドキュメント定義手段，ドキュメント編集手段，およびＷｅｂアプリケーションである受信・解析手段，データ登録手段の組み合わせによって、使用するユーザ毎に異なるフォーマットのドキュメントを定義し、データベースに登録および検索することが可能となる。
【００１５】
また、これらの仕組みによって、過去に作成されているドキュメントなども、ファイル形式さえ同じであれば、同様に定義を行いデータベースに登録可能となる。
【００１６】
さらに、ドキュメント編集手段やドキュメント定義手段によって編集の際にドキュメントの変更に合わせて定義内容を追従させることが可能となる。
【図面の簡単な説明】
【００１７】
【図１】本発明に係るドキュメント管理システムの全体構成図である。
【図２】ドキュメント編集ツールドキュメント定義用画面の例を示す図である。
【図３】対象ドキュメントの座標定義を説明するための図である。
【図４】送信データ定義を説明するための図である。
【図５】ＸＭＬ定義の例を示す図である。
【図６】ドキュメント定義部が行う処理のフローチャートを示す図である。
【図７−Ａ】ドキュメント編集部が行う処理のフローチャートを示す図である（その１）。
【図７−Ｂ】ドキュメント編集部が行う処理のフローチャートを示す図である（その２）。
【図７−Ｃ】ドキュメント編集部が行う処理のフローチャートを示す図である（その３）。
【図８】データ受信・解析部が行う処理のフローチャートを示す図である。
【図９】解析部メモリ内定義の例を示す図である。
【図１０】データ登録部が行う処理のフローチャートを示す図である。
【図１１】差分検出部が行う処理のフローチャートを示す図である。
【図１２】差分結果画面の例を示す図である。
【図１３】データ検索部が行う処理のフローチャートを示す図である。
【図１４】検索結果画面の例を示す図である。
【発明を実施するための形態】
【００１８】
図１は、本発明に係るドキュメント管理システムの一例の全体構成図である。
同図に示すように、本発明に係るドキュメント管理システムは、ドキュメント定義部Ａ００３とドキュメント編集部Ａ００４からなるドキュメント編集ツールＡ００２を備えるクライアントと、データ受信・解析部Ａ００７とデータ登録部Ａ００８とＮａｔｉｖｅ ＸＭＬデータベースＡ００９とデータ検索部Ａ０１０と差分検出部Ａ０１１からなるＷｅｂアプリケーションＡ００６を備えるドキュメント管理サーバを有している。同図において、Ａ００１はドキュメントファイル、Ａ００５は送信データ、Ａ０１２はＷｅｂブラウザを示している。
【００１９】
同図に示したドキュメント管理システムにおいて、ドキュメントファイルＡ００１はクライアントサイドのドキュメント編集ツールＡ００２においてドキュメント定義される。ドキュメント編集ツールＡ００２では、ドキュメント定義部Ａ００３によってドキュメントファイルＡ００１のドキュメント定義を行い、編集する際はドキュメント編集部Ａ００４にて編集を行う。
【００２０】
ドキュメント編集ツールＡ００２において編集および定義の完了したドキュメントは、送信データＡ００５として、サーバサイドのＷｅｂアプリケーションＡ００６に送信される。
【００２１】
ＷｅｂアプリケーションＡ００６では、送信データＡ００５をデータ受信・解析部Ａ００７で受信して解析した後、データ登録部Ａ００８にデータを受け渡し、Ｎａｔｉｖｅ ＸＭＬデータベース(ＸＭＬデータをそのままの形で登録検索可能なデータベース)Ａ００９に登録する。
【００２２】
登録されたデータを検索する際には、ユーザはユーザＰＣのＷｅｂブラウザＡ０１２によりＷｅｂアプリケーションＡ００６にアクセスし、データ検索部Ａ０１０から、Ｎａｔｉｖｅ ＸＭＬデータベースＡ００９を参照し、検索を行う。
【００２３】
差分検出を行う際には、ユーザはユーザＰＣのＷｅｂブラウザＡ０１２によりＷｅｂアプリケーションＡ００６にアクセスし、差分検出部Ａ０１１からＮａｔｉｖｅ ＸＭＬデータベースＡ００９を参照し、差分検出を行う。
【００２４】
図２は、ドキュメント編集ツールＡ００２のドキュメント定義部Ａ００３で表示されるドキュメント編集ツールドキュメント定義用画面Ｂ００１の一例を示す図である。
【００２５】
ドキュメント編集ツールドキュメント定義用画面Ｂ００１は、クライアントサイドのドキュメント編集ツールＡ００２にてドキュメントファイルＡ００１を編集する際に表示される画面である。ドキュメント定義部Ａ００３のプログラム起動を行うと、ドキュメント編集ツールドキュメント定義用画面Ｂ００１を表示する。
【００２６】
ドキュメント編集ツール定義用画面Ｂ００１を表示した後、登録したい個所を選択し、選択した部分の定義名を定義名記入用テキストボックスＢ００２に入力する。定義名を定義名記入用テキストボックスＢ００２に入力した後、定義ボタンＢ００３を押下し、定義を実行する。定義の実行終了後、終了ボタンＢ００４ボタンを押下することによりドキュメント定義部Ａ００３の処理を終了する。
【００２７】
図３は、対象ドキュメントの座標定義を説明するための図である。
本例におけるドキュメント編集ツールＡ００２では、図３に対象ドキュメントの座標定義Ｃ００１として示すように、ドキュメントファイルＡ００１の座標（Ｘ軸，Ｙ軸）を、起点に最も近い座標を文字列開始座標とし、最も遠い座標を文字列終了座標とするように定義する。ここでは、同図に示すように、対象ドキュメントはドキュメントの０行目０列目を起点とし、また定義情報はＹ軸方向の末尾以降に付加される。
【００２８】
図４は、図１の送信データＡ００５の定義を説明するための図である。
図４（ａ）は、送信データＡ００５を定義するための各項目の内容を示している。本例における送信データＡ００５は、同図に示すように、ドキュメント本文を示す文書本文Ｄ００１、ドキュメントのファイルのファイル名を示すファイル名Ｄ００２、ファイルの最終更新日を示すファイル最終更新日Ｄ００３、ファイルの最終更新者を示す作成者Ｄ００４、文書内データ定義名を示す定義名Ｄ００５（複数定義可能）、ドキュメント定義時の座標を始点（Ｘ座標，Ｙ座標、終点（Ｘ座標，Ｙ座標）で示す座標Ｄ００６の各項目から構成される。
【００２９】
図４（ｂ）は、送信データＡ００５の定義の具体的なデータ例Ｄ００７を示している。
【００３０】
図５は、本発明に係るＸＭＬ定義を説明するための図であり、データ登録部Ａ００８からＮａｔｉｖｅ ＸＭＬデータベースＡ００９にデータを登録する際のＸＭＬ定義を示している。Ｎａｔｉｖｅ ＸＭＬデータベースＡ００９に登録するデータは、同図（ａ）のＸＭＬ定義Ｅ００１のように定義される。
【００３１】
本例におけるＸＭＬ定義Ｅ００１は、同図に示すように、ルートタグ（Ｄｏｃ）と、ドキュメントルート（Ｄｏｃｕｍｅｎｔ）と、ドキュメントのＩＤを格納するドキュメントＩＤ（ＤｏｃＩＤ）と、ファイル名を格納するファイル名（Ｎａｍｅ）と、登録日を格納する登録日（ＲｅｇｉｓｔＤａｔｅ）と、データ一覧タグ（ＤａｔａＬｉｓｔ）と、テキスト内文書を格納するデータタグ（Ｄａｔａ）と、定義名を格納する定義名（Ｎａｍｅ）と、対象定義の座標（開始のＸ座標，Ｙ座標：終了のＸ座標，Ｙ座標）を格納する座標（Ｐｏｓｉｔｉｏｎ）の各項目から構成される。
【００３２】
図５（ｂ）は、ＸＭＬ定義の具体的なデータ例Ｅ００２を示している。
【００３３】
図６は、ドキュメント定義部Ａ００３が行う処理のフローチャートを示す図である。
ドキュメント定義部Ａ００３は、以下のような処理を行う。
まず、ステップＦ００１にてドキュメントファイルを読み込み、ステップＦ００２にてドキュメントファイル内の既存の定義情報を読み込む。ステップＦ００３では、ドキュメント編集ツールドキュメント定義用画面Ｂ００１画面を表示し、定義作業を可能にする。
【００３４】
次に、ユーザにてステップＦ００４にて定義したい部分の文字列範囲を選択する処理を行い、ステップＦ００５にて表示されたドキュメント編集ツールドキュメント定義用画面Ｂ００１を用いて定義画面処理（定義画面でＢ００２に定義名称を入力し、定義ボタンＢ００３を押下）を行った後、ステップＦ００７にて定義名が入力されているかのチェックを行う。
【００３５】
ステップＦ００７のチェック結果が真の場合は（ステップＦ００７：Ｙ）、ステップＦ００８へ処理が移行し、偽の場合は（ステップＦ００７：Ｎ）、ステップＦ００６にて定義名入力を促すメッセージを表示した後、再度ステップＦ００５の処理へ戻る。
【００３６】
ステップＦ００８にてステップＦ００４で選択した文字列選択範囲の座標（開始文字座標と終了文字座標）を取得し、ステップＦ００９にてステップＦ００８で取得した座標情報と定義名の関連付けを行い、ドキュメントの末尾にプロパティとしてこれら関連付けされた定義情報とデータ内容を保存する。
【００３７】
最後に、ステップＦ０１０にて定義終了か否かの確認を行い、終了の場合（ステップＦ０１０：Ｙ）、ステップＦ０１１にてユーザに終了ボタンの押下を実行させ、処理終了となる。ステップＦ０１０の確認の結果、終了でない場合（ステップＦ０１０：Ｎ）、ステップＦ００４の処理に戻って、次に定義したい部分の文字列範囲を選択する処理を行い、同様の処理を繰り返す。
【００３８】
図７Ａ〜図７Ｃは、ドキュメント編集部Ａ００４が行う処理のフローチャートを示す図である。
【００３９】
ドキュメント編集部Ａ００４は、以下のような処理を行う。
図７−ＡのステップＧ００１にて、ドキュメントファイルを読み込み、ステップＧ００２にて既存のプロパティ情報（定義情報）を読み込む。ステップＧ００３にてドキュメントの操作イベント（編集操作（文字入力・削除））を取得し、前記取得した操作イベントが文字入力か否かを判定し（ステップＧ００４）、文字入力の場合（ステップＧ００４：Ｙ）、ステップＧ００６の「文字列入力時処理」のサブルーチン（図７−Ｂ参照）を実行した後、ステップＧ００３の処理に戻る。
【００４０】
前記取得した操作イベントが文字入力でない場合（ステップＧ００４：Ｎ）、次に、前記取得した操作イベントが文字列削除か否かを判定し（ステップＧ００５）、前記取得した操作イベントが文字列削除の場合（ステップＧ００５：Ｙ）、ステップＧ００７の「文字列削除時処理」のサブルーチン（図７−Ｃ参照）を実行した後、ステップＧ００３の処理に戻る。
【００４１】
次に、ステップＧ００８にて編集処理が終了か否かをチェックし、編集終了でない場合（ステップＧ００８：Ｎ）、ステップＧ００３へ処理を移行し再度同様の処理を繰り返す。処理終了の場合（ステップＧ００８：Ｙ）、ステップＧ００９にてドキュメントを保存して終了処理をいった後、ドキュメント編集部Ａ００４の処理を終了する。
【００４２】
次に、図７−Ｂを用いて、ステップＧ００６の「文字列入力時処理」のサブルーチンを説明する。
【００４３】
「文字列入力時処理」のサブルーチンは、ステップＧ０１０にて前記入力された文字列の座標、既存の定義リスト内の座標、文字コード、行の追加、列の追加情報を取得し、ステップＧ０１１にて行が追加されたか否かの判定を、入力された文字列の座標と設定済みの全ての定義内の座標と比較し行う。
【００４４】
行が追加されている場合は（ステップＧ１１：Ｙ）、ステップＧ０１２に処理を遷移して添え字ｉ＝０、ｔ＝定義情報数に設定し、ステップＧ０１３にて入力座標と定義座標を比較する。すなわち、定義情報内座標情報のＹ座標と入力文字列のＹ座標を比較する。
【００４５】
次に、ステップＧ０１４にて入力座標と定義座標を比較する。すなわち、定義内の開始座標と終了座標のどちらかのＹ座標が、入力文字列のＹ座標を超過しているかをチェックする。
【００４６】
ステップＧ０１４のチェックが偽の場合（ステップＧ０１４：Ｎ）、ステップＧ０１８へ処理を移行し、ステップＧ０１４のチェックが真の場合（ステップＧ０１４：Ｙ）、ステップＧ０１５に処理を移行する。
【００４７】
ステップＧ０１５において、定義内の開始座標だけが入力文字列のＹ座標未満か否かをチェックし、偽の場合（ステップＧ０１５：Ｎ）、ステップＧ０１６にて定義情報の開始座標・終了座標のＹ座標の値を１加算する処理を行い、その後ステップＧ０１８へ移行する。
【００４８】
ステップＧ０１５のチェック結果が真の場合（ステップＧ０１５：Ｙ）、ステップＧ０１７にて対象定義情報の終了座標のＹ座標の値を１加算する処理を実施した後、ステップＧ０１８へ移行する。
【００４９】
ステップＧ０１８にて添え字ｉをカウンタアップし（１加算）、次のステップＧ０１９にて添え字（カウンタ値）ｉが定義情報数ｔ以上（すなわち、ｔ≦ｉ）になったか否かをチェックする。ステップＧ０１９のチェック結果が真の場合（ステップＧ０１９：Ｙ）、処理が終了し、ステップＧ０２０へ移行する。
【００５０】
ステップＧ０１９のチェック結果が偽の場合（ステップＧ０１９：Ｎ）、再度ステップＧ０１３へ処理を移行し、定義リスト上の次の定義に対して、ステップＧ０１３からステップＧ０１８の処理を繰り返す。
【００５１】
ステップＧ０２０にて新規に列が追加されたか否かをチェックし、チェックの結果、真の場合（ステップＧ０２０：Ｙ）、ステップＧ０２１に処理を移行する。こちらも同様に入力文字座標と既存の定義リスト内の座標を比較する。
【００５２】
ステップＧ０２１にて添え字ｉ＝０、ｔ=定義情報数に設定し、ステップＧ０２２にて定義情報内座標情報のＸとＹ座標と入力文字列ＸとＹ座標の比較処理を行い、ステップＧ０２３にて入力文字列座標のＹ座標が開始座標のＹ座標以上で且つ終了座標以下か否かをチェックし、チェック結果が偽の場合（ステップＧ０２３；Ｎ）、ステップＧ０２７へ処理を移行する。
【００５３】
ステップＧ０２３のチェック結果が真の場合（ステップＧ０２３：Ｙ）、処理をステップＧ０２４へ移行する。ステップＧ０２４にて開始座標のＸ座標が入力文字列のＸ座標を超過しているか否かをチェックし、チェック結果が偽の場合（ステップＧ０２４：Ｎ）、ステップＧ０２５にて定義情報の開始座標および終了座標のＸ座標の値に１加算する処理を行い、その後、ステップＧ０２７の処理を行う。
【００５４】
ステップＧ０２４のチェック結果が真の場合は（ステップＧ０２４：Ｙ）、ステップＧ０２６にて定義情報の終了座標のＸ座標の値に１加算する処理を行い、ステップＧ０２７の処理を行う。
【００５５】
ステップＧ０２７にて添え字ｉに１加算する処理を行った後、ステップＧ０２８にて添え字ｉと定義情報数ｔを比較し、添え字ｉが定義情報数ｔ以上（すなわち、ｔ≦ｉ）になったか否かをチェックする。ステップＧ０２８のチェック結果が偽の場合（ステップＧ０２８：Ｎ）、再度ステップＧ０２２の処理に戻って同様の処理を繰り返す。ステップＧ０２８のチェック結果が真の場合（ステップＧ０２８：Ｙ）、ステップＧ００６のサブルーチンを終了する。
【００５６】
次に、図７−Ｃを用いて、ステップＧ００７の「文字列削除時処理」のサブルーチンを説明する。
【００５７】
「文字列削除時処理」のサブルーチンでは、ステップＧ０２９にて前記入力された文字列の文字コード及び座標と既存の定義リスト内の座標を取得し、ステップＧ０３０にて行が削除されたか否かの判定を、設定済みの全ての定義を比較し行う。
【００５８】
ステップＧ０３０のチェック結果が真の場合（ステップＧ０３０：Ｙ）、ステップＧ０３１にて添え字ｉ=０、ｔ＝定義情報数に設定する処理を行う。ステップＧ０３２にて定義情報内座標情報のＹ座標と入力文字列Ｙ座標を比較する。
【００５９】
ステップＧ０３３にて定義内の開始座標と終了座標のいずれかのＹ座標が削除文字列のＹ座標を超過しているか否かをチェックし、チェック結果が偽の場合（ステップＧ０３３：Ｎ）、ステップＧ０３９へ処理を移行する。
【００６０】
ステップＧ０３３のチェック結果が真の場合は（ステップＧ０３３：Ｙ）、ステップＧ０３４にて終了文字列座標と開始文字列座標と入力文字列のＹ座標が同じか否かをチェックする。
【００６１】
ステップＧ０３４でのチェック結果が真の場合（ステップＧ０３４：Ｙ）、ステップＧ０３６にて対象定義を削除する処理を行った後、ステップＧ０３９へ処理を移行する。
【００６２】
ステップＧ０３４でのチェック結果が偽の場合（ステップＧ０３４：Ｎ）、ステップＧ０３５にて定義内の開始座標のみが入力文字列のＹ座標未満であるか否かのチェックを行い、ステップＧ０３５でのチェック結果が真の場合（ステップＧ０３５：Ｙ）、ステップＧ０３８にて対象定義情報の終了座標のＹ座標の値を１減算した後、ステップＧ０３９の処理に移行する。
【００６３】
ステップＧ０３５のチェック結果が偽の場合（ステップＧ０３５：Ｎ）、ステップＧ０３７にて定義情報の開始座標・終了座標のＹ座標の値を１減算した後、ステップＧ０３９にて添え字ｉに１加算する。ステップＧ０３９の処理後は、ステップＧ０４０にて添え字ｉと定義情報数ｔを比較し、添え字ｉが定義情報数ｔ以上（すなわち、ｔ≦ｉ）になったか否かをチェックする。
【００６４】
ステップＧ０４０のチェック結果が偽の場合（ステップＧ０４０：Ｎ）、再度ステップＧ０３３の処理に戻って同様の処理を繰り返す。ステップＧ０４０のチェック結果が真の場合（ステップＧ０４０：Ｙ）、次に、ステップＧ０４１にて列が削除されたか否かをチェックする。
【００６５】
ステップＧ０４１のチェック結果が真の場合、ステップＧ０４２にて添え字ｉ=０、ｔ=定義情報数に設定する処理を行い、その後、ステップＧ０４３にて入力座標と定義リストの座標を比較する。すなわち、定義情報内座標情報のＸとＹ座標と入力文字列のＸとＹ座標を比較する。
【００６６】
次のステップＧ４４にて入力文字列座標のＹ座標が開始座標のＹ座標が開始座標のＹ座標以上で且つ終了座標以下であるか否かのチェックを行う。
【００６７】
ステップＧ０４４のチェック結果が偽の場合（ステップＧ０４４：Ｎ）、ステップＧ０４８の処理に移行する。ステップＧ０４４のチェック結果が真の場合（ステップＧ０４４：Ｙ）、ステップＧ０４５にて開始座標のＸ座標が入力文字列のＸ座標を超過しているか否かのチェックを行い、ステップＧ０４５のチェック結果が真の場合（ステップＧ０４５：Ｙ）、ステップＧ０４７にて定義情報の終了座標のＸ座標の値を１減算する。
【００６８】
ステップＧ０４５のチェック結果が偽の場合（ステップＧ０４５：Ｎ）、ステップＧ０４６にて定義情報の開始座標および終了座標のＸ座標の値を１加算する。
【００６９】
ステップＧ０４６およびステップＧ０４７の処理後は、共に、ステップＧ０４８に移行し、ここで添え字ｉの値を１加算する処理を行い、その後、ステップＧ０４９にて添え字ｉが定義情報数ｔ以上（すなわち、ｔ≦ｉ）になったか否かをチェックし、ステップＧ０４９のチェック結果が偽の場合（ステップＧ０４９：Ｎ）、再度ステップＧ０４３に移行し同様の処理を繰り返す。
【００７０】
ステップＧ０４９のチェック結果が真の場合（ステップＧ０４９：Ｙ）、ステップＧ００７の「文字列削除時処理」のサブルーチンを終了する。また、ステップＧ０４１のチェック結果が偽の場合（ステップＧ４１：Ｎ）もステップＧ００７の「文字列削除時処理」のサブルーチンを終了する。
【００７１】
図８は、データ受信・解析部Ａ００７が行う処理のフローチャートを示す図である。また図９は、解析部メモリ内定義を示す図である。
【００７２】
データ受信・解析部Ａ００７では、以下のような処理が行われる。
まず、ステップＨ００１にてデータを受信後、ステップＨ００２にて定義情報の読込処理を行い、ステップＨ００３にて定義名と該定義名に対する座標の一覧を取得し、メモリ上に図９（ａ）に示すＨ０１１形式のリストを作成する。
【００７３】
次に、ステップＨ００４にて、ｔ＝定義情報数、添え字ｉ＝０に設定（カウンタ定義）した後、ステップＨ００５にてＩＮＤＥＸ番号（添え字）ｉの定義名を取得し、対応する定義名の座標を取得する。
【００７４】
ステップＨ００６にて、ステップＨ００５で取得した座標をもとに、ドキュメントから文字列データを取得しメモリのデータ部分に格納する。取得後のメモリ上状態は、図９（ｂ）に示すＨ０１２のようになる。
【００７５】
ステップＨ００７にて添え字ｉに１加算（ｉ＝ｉ＋１）した後、ステップＨ００８にて添え字ｉと定義情報数ｔを比較して添え字ｉが定義情報数ｔ以上（すなわちｔ≦ｉ）になったか否かをチェックし、チェック結果が偽であれば（ステップＨ００８：Ｎ）、再度ステップＨ００５の処理に戻って同様の処理を繰り返す。
【００７６】
ステップＨ００８のチェック結果が真であれば（ステップＨ００８：Ｙ）、ステップＨ００９にて作成した一覧をＸＭＬ形式に変換（すなわち、図９（ｂ）にＨ０１２として示した形式のデータを、図９（ｃ）にＨ０１３として示した形式のデータに変換）する。
【００７７】
最後に、ステップＨ０１０にてファイル名、更新日情報をＸＭＬ形式に付加し、図９（ｄ）にＨ０１４として示したデータ形式に変換して、解析部Ａ００８が行う処理を終了する。
【００７８】
図１０は、データ登録部Ａ００８が行う処理のフローチャートを示す図である。データ登録部Ａ００８では、以下のような処理が行われる。
ステップＩ００１にて、データ受信・解析部Ａ００７にて作成されたＸＭＬデータを取得する。
【００７９】
その後、ステップＩ００２にてデータベースをオープンし、ステップＩ００３にて登録用のクエリ（ｑｕｅｒｙ（リレーショナルデータベースの場合はＳＱＬ）；処理要求，問い合わせ）を作成し、ステップＩ００４にて前記作成した登録クエリを発行し、ステップＩ００５にてコミットする。最後に、ステップＩ００６にてデータベースのクローズ処理を行い、データ登録部Ａ００８が行う処理を終了する。
【００８０】
図１１は、差分検出部Ａ０１１が行う処理のフローチャートを示す図である。また、図１２は、差分結果画面を示す図である。
【００８１】
差分検出部Ａ０１１では、以下のような処理が行われる。
ステップＪ００１にて比較元旧ドキュメントを選択し、ステップＪ００２にて比較元新ドキュメントを選択する。
【００８２】
その後、ステップＪ００３にてデータベースをオープンし、新ドキュメント・旧ドキュメントを取得するためのクエリを作成する。
【００８３】
ステップＪ００５にてクエリを発行し、ステップＪ００６にて新旧２つのドキュメントのＸＭＬデータを取得し、ステップＪ００７にてデータベースをクローズする。
【００８４】
ステップＪ００８〜Ｊ０１２において差分検出のサブルーチンを実行する。まず、ステップＪ００８にてＸＭＬデータから定義情報リストを取得し、ステップＪ００９にて追加分を検出し、ステップＪ０１０にて削除分を検出し、ステップＪ０１１にて変更分を検出する処理を行い、ステップＪ０１２にて、追加分，削除分，および変更分のそれぞれのリストを作成し、差分検出処理のサブルーチンを終了する。
【００８５】
最後に、ステップＪ０１３処理にて差分検出結果データを、図１２に示す如き差分結果画面として表示する。
【００８６】
図１２には、同図（ａ）に示すＪ０１４として比較した新旧のドキュメント名を、同図（ｂ）に示すＪ０１５として追加分の定義名とその内容を、同図（ｃ）に示すＪ０１６として削除分の定義名とその内容を、同図（ｄ）に示すＪ０１７として変更分の定義名と変更前および変更後のそれぞれの内容を表示する。
【００８７】
図１３は、データ検索部Ａ０１０が行う処理のフローチャートを示す図である。また、図１４は、検索結果画面を示す図である。
【００８８】
データ検索部Ａ０１０では、以下のような処理が行われる。
まず、ステップＫ００１にてユーザＰＣのＷｅｂブラウザＡ０１２を用いて入力された検索条件（ドキュメント名もしくはキーワード入力）をチェックし、ステップＫ００２にて入力文字列を判定し、検索条件が入力されているか否かをチェックする。
【００８９】
ステップＫ００２によるチェック結果が真である場合（ステップＫ００２：Ｙ）、ステップＫ００３にてデータベースをオープンし、ステップＫ００４にて検索用のクエリを作成し、ステップＫ００５にてクエリを発行する。
【００９０】
ステップＫ００６にてＸＭＬデータを取得し、ステップＫ００７にてデータベースをクローズする。
【００９１】
最後に、ステップＫ００８にて、検索結果のＸＭＬデータをもとにＸＳＬＴ（ ＸＳＬ Ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ）でデータを変換し図１４に示すＫ００９の形式で検索結果データを表示し、データ検索部Ａ０１０の処理を終了する。
【００９２】
なお、上記実施例におけるドキュメント管理システムを構成するドキュメント定義部（ドキュメント定義手段）と、ドキュメント編集部（ドキュメント編集手段）と、受信・解析部（データ受信・解析手段）と、データベース登録部（データ登録手段）と、ドキュメント検索部（データ検索手段）と、差分検出部（差分検出手段）の各処理部（各処理手段）の機能は、ドキュメント編集ツールを具備するクライアントコンピュータとＷｅｂアプリケーションを具備するサーバコンピュータの構成要素であるＣＰＵやメモリなどのハードウェアにより各処理部に対応するプログラムを実行することにより実現される。
【００９３】
また、上記各処理手段（処理部）に対応するプログラムは、ＦＤ，ＣＤ−ＲＯＭ、ＤＶＤなどの記録媒体や、インターネットなどのネットワークを介して市場に流通させることができる。
【符号の説明】
【００９４】
Ａ００１：ドキュメントファイル
Ａ００２：クライアントコンピュータ（ドキュメント編集ツール）
Ａ００３：ドキュメント定義部
Ａ００４：ドキュメント編集部
Ａ００５：送信データ
Ａ００６：サーバコンピュータ（Ｗｅｂアプリケーション）
Ａ００７：データ受信・解析部
Ａ００８：データ登録部
Ａ００９：Ｎａｔｉｖｅ ＸＭＬデータベース
Ａ０１０：データ検索部
Ａ０１１：差分検出部
Ａ０１２：Ｗｅｂブラウザ（ユーザＰＣ）
【図１】
2010224869.tif 000003
【図２】
2010224869.tif 000004
【図３】
2010224869.tif 000005
【図４】
2010224869.tif 000006
【図５】
2010224869.tif 000007
【図６】
2010224869.tif 000008
【図７−Ａ】
2010224869.tif 000009
【図７−Ｂ】
2010224869.tif 000010
【図７−Ｃ】
2010224869.tif 000011
【図８】
2010224869.tif 000012
【図９】
2010224869.tif 000013
【図１０】
2010224869.tif 000014
【図１１】
2010224869.tif 000015
【図１２】
2010224869.tif 000016
【図１３】
2010224869.tif 000017
【図１４】
2010224869.tif 000018