(57)【要約】【課題】  ドキュメント内の要素をデータベース内の対応するフィールドまたはクエリにマップし、リンクするための方法およびシステムを提供する。【解決手段】  ドキュメントの部分を対応するデータベースにマップするために、ドキュメントに、拡張可能マークアップ言語（ＸＭＬ）のようなマークアップ言語の構造的要素で注釈が付けられる。ドキュメント内の個々の要素が選択されたデータベース内の対応するデータフィールドまたはクエリにマップされ、リンクされると、ドキュメント内の個々の要素に対して行われた変更により、その要素がマップされ、リンクされているデータベース内の対応するデータに対する更新が自動的に生じさせられる。逆に、選択されたデータベース内の個々のデータフィールドに行われた変更により、ドキュメント内の対応する要素が自動的に更新される。【選択図】  図２
2004246903.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって生成されたドキュメント内の要素をデータベース内の対応するデータにリンクする方法であって、
マークアップ言語の要素を前記ドキュメントに適用すること、
前記ドキュメント内の１または複数のマークアップ言語要素を前記データベース内の対応するデータにリンクすること、
前記ドキュメント内の所与のマークアップ言語要素に関連するデータを前記データベースに入力すること、および、
前記ドキュメント内の前記所与のマークアップ言語要素に関連するデータを前記データベースに入力することに応答して、前記所与のマークアップ言語要素に関連する前記ドキュメント内の位置で前記ドキュメントに前記データを自動的に書き込むこと
を備えたことを特徴とする方法。
【請求項２】
前記ドキュメント内の対応するマークアップ言語要素にリンクするために前記データベース内でデータフィールドを確立することをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項３】
前記データベース内の前記データフィールドを前記ドキュメントにリンクするために前記ドキュメントに固有ドキュメント識別子を書き込むことをさらに備えたことを特徴とする請求項２に記載の方法。
【請求項４】
前記データベース内の１または複数のデータフィールドからデータを集めるために前記データベースにデータベースクエリを書き込むこと、および、
前記データベースクエリに関連する前記ドキュメント内の位置で前記ドキュメントに前記データベースクエリの結果を書き込むこと
をさらに備えたことを特徴とする請求項３に記載の方法。
【請求項５】
前記データベースクエリに関連する前記ドキュメント内の位置で前記ドキュメントに前記データベースクエリの結果を書き込むために、前記ドキュメント内の所与のマークアップ言語要素に前記データベースクエリを関連付けることをさらに備えたことを特徴とする請求項４に記載の方法。
【請求項６】
前記データベースから前記データを読み取るため、および前記所与のマークアップ言語要素に関連する前記ドキュメント内の位置で前記ドキュメントに前記データを書き込むためのプログラミング手続きを前記データベースの中に記憶することをさらに備えたことを特徴とする請求項５に記載の方法。
【請求項７】
前記データベースクエリに関連する前記データベース内のデータが更新された際、前記データベースクエリの結果を更新すること、および、
前記データベースクエリの結果が更新された際、前記プログラミング手続きを実行すること
をさらに備えたことを特徴とする請求項６に記載の方法。
【請求項８】
前記手続きは、「GetCurrentMarkupElementData」の形式であることを特徴とする請求項７に記載の方法。
【請求項９】
所与のマークアップ言語要素に関連するデータを前記ドキュメントに入力すること、および、
前記所与のマークアップ言語要素に関連するデータを前記ドキュメントに入力することに応答して、前記所与のマークアップ言語要素にリンクされた前記データベース内のデータフィールドに前記ドキュメントに入力された前記データを自動的に書き込むこと
をさらに備えたことを特徴とする請求項３に記載の方法。
【請求項１０】
前記所与のマークアップ言語要素にリンクされた前記データベース内のデータフィールドに前記ドキュメントに入力されたデータを書き込むために前記データベースにデータベースクエリを書き込むことをさらに備えたことを特徴とする請求項９に記載の方法。
【請求項１１】
前記所与のマークアップ言語要素にリンクされた前記データベース内のデータフィールドに前記ドキュメントに入力されたデータを書き込むために前記ドキュメント内の前記所与のマークアップ言語に前記データベースクエリを関連付けることをさらに備えたことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記クエリによって必要とされる前記所与のマークアップ言語要素にリンクされた前記データベース内のデータフィールドに前記ドキュメントに入力された前記データを書き込むためのプログラミング手続きを前記データベースの中に記憶することをさらに備えたことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記手続きは、「SetCurrentMarkupElementData」の形式であることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記ドキュメントにマークアップ言語の要素を適用することに先立ち、前記ドキュメントに適用されるべきマークアップ言語に関連する規則を定義するスキーマを前記ドキュメントに付加することを備えたことを特徴とする請求項１に記載の方法。
【請求項１５】
前記マークアップ言語は、拡張可能マークアップ言語であることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記マークアップ言語は、ハイパーテキストマークアップ言語であることを特徴とする請求項１４に記載の方法。
【請求項１７】
前記ドキュメント内の１または複数のマークアップ言語要素を前記データベース内の対応するデータフィールドにリンクすることは、
前記ドキュメントに含まれるマークアップ言語要素のリストを提供すること、
前記ドキュメント内の対応するマークアップ言語要素にリンクするために確立されたデータフィールドのリストを提供すること、
前記マークアップ言語要素のリストからマークアップ言語要素を選択することと、
前記選択されたマークアップ言語要素に選択されたデータフィールドをリンクするためにデータフィールドの前記リストからデータフィールドを選択すること、および、
前記選択されたマークアップ言語要素に前記選択されたデータフィールドをリンクするためにデータフィールドの前記リストから前記データフィールドを選択した後、前記選択されたマークアップ言語要素に前記選択されたデータフィールドをリンクすること
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１８】
コンピュータによって生成されたドキュメント内の要素をデータベース内の対応するデータにリンクするための方法であって、
マークアップ言語の要素を前記ドキュメントに適用すること、
前記ドキュメント内の１または複数のマークアップ言語要素を前記データベース内の対応するデータにリンクすること、
前記ドキュメント内の前記１または複数のマークアップ言語要素を前記データベース内の対応するデータにリンクするために前記ドキュメントに固有ドキュメント識別子を書き込むこと、
前記ドキュメント内の所与のマークアップ言語要素に関連するデータを前記データベースに入力すること、
前記ドキュメント内の前記所与のマークアップ言語要素に関連するデータを前記データベースに入力することに応答して、前記所与のマークアップ言語要素に関連する前記ドキュメント内の位置で前記ドキュメントに前記データを自動的に書き込むこと、
所与のマークアップ言語要素に関連するデータを前記ドキュメントに入力すること、および、
前記所与のマークアップ言語要素に関連するデータを前記ドキュメントに入力することに応答して、前記所与のマークアップ言語要素にリンクされた前記データベース内のデータフィールドに前記ドキュメントに入力された前記データを自動的に書き込むこと
を備えたことを特徴とする方法。
【請求項１９】
前記ドキュメント内の対応するマークアップ言語要素にリンクするために前記データベース内でデータフィールドを確立することをさらに備えたことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記データベース内の１または複数のデータフィールドからデータを集めるため、および第１のデータベースクエリに関連する前記ドキュメント内の位置で前記ドキュメントに第１のデータベースクエリの結果を書き込むために前記データベースに前記第１のデータベースクエリを書き込むこと、および、
前記所与のマークアップ言語要素にリンクされた前記データベース内のデータフィールドに前記ドキュメントに入力されたデータを書き込むために前記データベースに第２のデータベースクエリを書き込むこと
をさらに備えたことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記ドキュメント内の所与のマークアップ言語要素に前記第１のデータベースクエリおよび前記第２のデータベースクエリを関連付けることをさらに備えたことを特徴とする請求項２０に記載の方法。
【請求項２２】
前記データベースから前記データを読み取るため、および前記所与のマークアップ言語要素に関連する前記ドキュメント内の位置で前記ドキュメントに前記データを書き込むための第１のプログラミング手続きを前記データベースの中に記憶することをさらに備えたことを特徴とする請求項２１に記載の方法。
【請求項２３】
前記データベースクエリに関連する前記データベース内のデータが更新された際、前記データベースクエリの結果を更新すること、および、
前記データベースクエリの結果が更新された際、前記第１のプログラミング手続きを実行すること
をさらに備えたことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記クエリによって必要とされる前記所与のマークアップ言語要素にリンクされた前記データベース内のデータフィールドに前記ドキュメントに入力された前記データを書き込むための第２のプログラミング手続きを前記データベースに記憶することをさらに備えたことを特徴とする請求項２３に記載の方法。
【請求項２５】
前記マークアップ言語は、拡張可能マークアップ言語であることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記マークアップ言語は、ハイパーテキストマークアップ言語であることを特徴とする請求項２４に記載の方法。
【請求項２７】
前記ドキュメント内の１または複数のマークアップ言語要素を前記データベース内の対応するデータフィールドにリンクすることは、
前記ドキュメントに含まれるマークアップ言語要素のリストを提供すること、
前記ドキュメント内の対応するマークアップ言語要素にリンクするために確立されたデータフィールドのリストを提供すること、
前記マークアップ言語要素のリストからマークアップ言語要素を選択すること、
前記選択されたマークアップ言語要素に選択されたデータフィールドをリンクするためにデータフィールドの前記リストからデータフィールドを選択すること、および、
前記選択されたマークアップ言語要素に前記選択されたデータフィールドをリンクするためにデータフィールドの前記リストから前記データフィールドを選択した後、前記選択されたマークアップ言語要素に前記選択されたデータフィールドをリンクすること
をさらに含むことを特徴とする請求項１８に記載の方法。
【請求項２８】
コンピュータによって実行された際、請求項１８に記載のことを行うコンピュータ実行可能命令を記憶していることを特徴とするコンピュータ読取り可能媒体。
【請求項２９】
コンピュータによって生成されたドキュメント内の要素をデータベース内の対応するデータフィールドにリンクする方法であって、
前記ドキュメント内の１または複数のマークアップ言語要素と前記データベース内の対応するデータフィールドの間の通信リンクを提供すること、
所与のマークアップ言語要素に関連するデータを前記ドキュメントに入力すること、および、
前記所与のマークアップ言語要素に関連するデータを前記ドキュメントに入力することに応答して、前記所与のマークアップ言語要素に対応する前記データベース内のデータフィールドに前記データを自動的に保存すること
を備えたことを特徴とする方法。
【請求項３０】
前記ドキュメント内の１または複数のマークアップ言語要素と前記データベース内の対応するデータフィールドの間の通信リンクを提供することに先立ち、前記１または複数のマークアップ言語要素で注釈が付けられたドキュメントを含むドキュメントライブラリから、前記１または複数のマークアップ言語要素にリンクするために確立されたデータフィールドを含む前記データベースに関連付けられた前記ドキュメントを選択することを備えたことを特徴とする請求項２９に記載の方法。
【請求項３１】
前記ドキュメント内の１または複数のマークアップ言語要素と前記データベース内の対応するデータフィールドの間の通信リンクを提供することは、
前記ドキュメントに含まれるマークアップ言語要素のリストを提供すること、
前記ドキュメント内の対応するマークアップ言語要素にリンクするために確立されたデータフィールドのリストを提供すること、
前記マークアップ言語要素のリストからマークアップ言語要素を選択すること、
前記選択されたマークアップ言語要素に選択されたデータフィールドをリンクするためにデータフィールドの前記リストからデータフィールドを選択すること、および、
前記選択されたマークアップ言語要素に前記選択されたデータフィールドをリンクするためにデータフィールドの前記リストから前記データフィールドを選択した後、前記選択されたマークアップ言語要素に前記選択されたデータフィールドをリンクすること
をさらに含むことを特徴とする請求項３０に記載の方法。
【請求項３２】
前記選択されたマークアップ言語要素に前記選択されたデータフィールドをリンクすることは、前記ドキュメントに固有ドキュメント識別子を書き込み、前記固有ドキュメント識別子を前記選択されたマークアップ言語要素に関連付け、前記固有ドキュメント識別子を前記選択されたデータフィールドに関連付けて前記選択されたマークアップ言語要素が前記データベース内の前記選択されたデータフィールドを指すようにすることを含むことを特徴とする請求項３１に記載の方法。
【請求項３３】
コンピュータによって実行された際、
ドキュメント内の１または複数のＸＭＬ要素をデータベース内の対応するデータフィールドにリンクするステップと、
所与のＸＭＬ要素に関連するデータを前記ドキュメントに入力するステップと、
前記所与のＸＭＬ要素に関連するデータを前記ドキュメントに入力することに応答して、前記所与のＸＭＬ要素に対応する前記データベース内のデータフィールドに前記データを自動的に保存するステップと
を実行するコンピュータ実行可能命令を記憶していることを特徴とするコンピュータ読取り可能媒体。
【請求項３４】
前記ドキュメント内の１または複数のＸＭＬ要素を前記データベース内の対応するデータフィールドにリンクするステップに先立ち、前記１または複数のＸＭＬ要素で注釈が付けられたドキュメントを含むドキュメントライブラリから、前記１または複数のＸＭＬ要素にリンクするために確立されたデータフィールドを含む前記データベースに関連付けられた前記ドキュメントを選択するステップを備えたことを特徴とする請求項３３に記載のコンピュータ読取り可能媒体。
【請求項３５】
前記ドキュメント内の１または複数のＸＭＬ要素を前記データベース内の対応するデータフィールドにリンクするステップは、
前記ドキュメントに含まれるＸＭＬ要素のリストを提供すること、
前記ドキュメント内の対応するＸＭＬ要素にリンクするために確立されたデータフィールドのリストを提供すること、
前記ＸＭＬ要素のリストからＸＭＬ要素を選択すること、
前記選択されたＸＭＬ要素に選択されたデータフィールドをリンクするためにデータフィールドの前記リストからデータフィールドを選択すること、および、
前記選択されたＸＭＬ要素に前記選択されたデータフィールドをリンクするためにデータフィールドの前記リストから前記データフィールドを選択した後、前記選択されたＸＭＬ要素に前記選択されたデータフィールドをリンクすること
をさらに含むことを特徴とする請求項３４に記載のコンピュータ読取り可能媒体。
【請求項３６】
前記ドキュメント内の１または複数のＸＭＬ要素を前記データベース内の対応するデータフィールドにリンクするステップは、前記ドキュメントに固有ドキュメント識別子を書き込むこと、前記固有ドキュメント識別子を前記選択されたＸＭＬ要素に関連付けること、前記固有ドキュメント識別子を前記選択されたデータフィールドに関連付けて前記選択されたＸＭＬ要素が前記データベース内の前記選択されたデータフィールドを指すようにすることを含むことを特徴とする請求項３５に記載のコンピュータ読取り可能媒体。
【請求項３７】
コンピュータによって実行された際、
所与のデータフィールドにデータを入力するステップと、
前記所与のデータフィールドに前記データを保存するステップと、
前記所与のデータフィールドに前記データを保存することに応答して、前記所与のデータフィールドに対応する所与のＸＭＬ要素に関連する位置で前記ドキュメントに前記データを自動的に保存するステップと
をさらに実行するコンピュータ実行可能命令を記憶していることを特徴とする請求項３６に記載のコンピュータ読取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、コンピュータによって生成されたドキュメント内の要素を、データベース内の対応するデータにリンクするための方法およびシステムに関する。
【背景技術】
【０００２】
コンピュータソフトウェアアプリケーションは、ユーザが、仕事、教育、および余暇において自身に役立つ様々なドキュメントを作成することを可能にする。例えば、ワードプロセッシングアプリケーションは、ユーザが、手紙、記事、本、覚え書き等を作成することを可能にする。スプレッドシートアプリケーションは、ユーザが、様々な英数字データを記憶させること、操作すること、印刷すること、および表示させることを可能にする。そのようなアプリケーションは、豊富な編集、形式設定、印刷、および計算を含むいくつかの周知の長所を有する。
【０００３】
最新のデータベースの登場とともに、ユーザは、様々な異なる主題に関連する大量のデータを集め、操作することができる。しばしば、データベースは、ユーザのコンピュータ上に存在し、またはデータベースは、遠隔のインターネットベースのサーバを含む遠隔サーバ上に含まれる可能性がある。しばしば、多くのユーザは、ユーザの各人がデータベースに含まれるデータの追加、削除、および操作を行う単一のデータベースに対するアクセス権を有することができる。例えば、数名のユーザが新しいタイプのコンピュータソフトウェアの規格を開発するプロジェクトチームを構成している場合、ユーザの各人に、所与のデータベース上に含まれる共用のドキュメントライブラリに対するアクセス権を割り当てることができる。従って、第１のユーザが規格に含まれるデータのあるセクションを変更した場合、その変更がデータベース上で更新され、他のユーザによってアクセス可能になる。その後、別の許可されたユーザが、第１のユーザによって行われた変更を見るためにデータベースにアクセスして、追加の変更または更新を行うことが可能である。従って、ユーザの各人が、協同的な方法でデータベースに含まれ、管理されるデータを発展させ、寄与することができる。
【０００４】
しばしば、ユーザまたはユーザのグループが、データを他者に提示するために、所与のデータベースからのデータを集めて、手紙、覚え書き、記事、スプレッドシートまたは他のドキュメントにしなければならない。上述した例を続けると、プロジェクトの様々な時点でソフトウェア開発チームのメンバは、共用データベースに含まれるデータを集めて規格書などの単一のドキュメントにし、そのドキュメントを新しいソフトウェアの将来のユーザまたはプロジェクトの検閲者（reviewer）に提示することが必要とされる可能性がある。残念ながら、ドキュメントは、一度、準備されると、ドキュメントの準備の直前に存在していたデータベースから集められたデータの静的な提示となる。プロジェクトチームのメンバがドキュメントの最初の草案の準備の後にデータベース内のデータを更新した場合、ドキュメントは、そのドキュメントが基づいているデータの変更を反映するように手作業で更新されなければならない。同様に、ドキュメントの準備中、メンバが、ドキュメントに入れられているデータに変更を行った場合、データベース内の対応するデータは、ドキュメントに対して行われた、データベースに含まれるデータに反映されていない変更を反映するように手作業で更新されなければならない。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従って、ドキュメント内容の部分をデータベース内の対応するフィールドまたはクエリにマップしてリンクし、データベース内の対応するデータに対する更新が、ドキュメントの対応する部分を自動的に更新し、ドキュメントの部分に対する更新が、データベース内の対応するデータを自動的に更新するようにするための方法およびシステムの必要性が存在する。本発明は、これらおよびその他の問題に関連してなされた。
【課題を解決するための手段】
【０００６】
本発明の実施形態は、ドキュメント内の要素をデータベース内の対応するフィールドまたはクエリにマップし、リンクするための方法およびシステムを提供する。ワードプロセッシングドキュメントまたはスプレッドシートドキュメントなどのコンピュータによって生成されたドキュメントのユーザは、ドキュメントの様々な部分をデータベース内の対応するデータに関連付ける。本発明の一態様によれば、ドキュメントには、ドキュメントの部分をデータベース内の対応するデータにマップするために、ＸＭＬ言語（eXtensible Markup Language）などのマークアップ言語の構造要素で注釈が付けられる。ドキュメントにＸＭＬ構造でマークアップが行われる場合、ＸＭＬスキーマを、ドキュメントに関するデータタイプ、データ構造、およびＸＭＬ要素規則を設定するドキュメントに付加しまたは関連付けて、ユーザが、選択されたスキーマに準拠する適切なＸＭＬ構造でドキュメントに注釈を付けることができる。別法として、ユーザは、ＸＭＬ構造注釈を既に含み、ＸＭＬスキーマに既に関連付けられているドキュメントを利用することができる。
【０００７】
ドキュメントが１または複数の要素を使用して構造化された後、ドキュメントに関連付けるためにデータベースが選択される。データベースを選択することは、データベース内に保持されるドキュメントライブラリ内で特定のテーブルを選択することを含み、ここで、特定のテーブルは、ドキュメントに関連付けられる。ドキュメントに関連付けるためにデータベース内で特定のテーブルが選択された後、ドキュメント内の個々の要素が、選択されたテーブル内の対応するデータフィールドまたはクエリにマップされる。クエリを、ＳＱＬなどのデータベース言語で書かれたプログラムとして表現することができる。クエリを、記憶された手続きを使用して表現することができ、その場合、ドキュメント内の要素を、データベース内の特定の記憶された手続きにマップすることができる。ドキュメント内の個々の要素をデータベースの選択されたテーブル内の対応するデータフィールドまたはクエリにマップすることは、個々の要素のそれぞれを選択されたテーブル内の対応するデータフィールド、クエリまたは手続きに、または記憶された手続きにリンクするようにドキュメント内で固有ドキュメント識別子を提供する（データ送信およびデータ受信のために）ことを含むことが可能である。同様に、個々のデータフィールド、クエリまたは手続きをドキュメント内の対応する要素にリンクするために、選択されたデータフィールド、クエリまたは記憶された手続きにおいて、固有識別子を提供することができる。
【０００８】
ドキュメント内の個々の要素が選択されたテーブル内またはデータベース内の対応するデータにマップされ、リンクされると、ドキュメント内の個々の要素に行われた変更は、その要素がマップされ、リンクされている対応するデータフィールド、クエリおよび／または手続きに対する更新を自動的に生じさせる。ドキュメント要素が、その要素にデータを提供するクエリにリンクされた場合、ドキュメントとデータベースの間で双方向リンクを維持するために、ドキュメント要素は、典型的には、ドキュメント内の要素の内容でデータベースを更新することができる適切な更新クエリにもリンクされる。逆に、選択されたデータベーステーブル内の個々のデータフィールド、クエリおよび／または手続きに行われた変更は、ドキュメント内の対応する要素を自動的に更新する。要素が、クエリにリンクされた場合、ドキュメント内の要素がデータをリフレッシュした際、最新の結果の組について要素が関連付けられているクエリを呼び出す。
【０００９】
本発明のこれらの特徴およびその他の特徴、利点および態様は、開示する実施形態の以下の説明を精読し、添付の図面および添付の特許請求の範囲を参照することで明確に理解し、評価することができる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施形態の説明を、以下に図面を参照して行う。ここで、同様の符号がいくつかの図の同様の部分または構成要素を指している。本発明は、ドキュメントの要素をデータベース内のデータフィールド、クエリおよび／または手続きにマップし、リンクするための方法およびシステムを対象とする。
【００１１】
（動作環境）
図１および以下の説明は、本発明を実施することができる適切なコンピューティング環境の簡単で一般的な説明を提供することを目的としている。本発明をパーソナルコンピュータと連携してオペレーティングシステム上で実行されるアプリケーションプログラムの一般的な文脈で説明するが、本発明は、他のプログラムモジュールとの組合せにおいても実施できることが、当分野の技術者には認められよう。一般に、プログラムモジュールは、特定のタスクを行う、または特定の抽象データ型を実装するルーチン、プログラム、構成要素、データ構造等を含む。さらに、本発明は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、セル電話機、ミニコンピュータ、メインフレームコンピュータ等を含む他のコンピュータシステム構成で実施することができることは、当分野の技術者に認められよう。また、本発明を、通信網を介してリンクされた遠隔の処理デバイスによってタスクが行われる分散コンピューティング環境において実施してもよい。分散コンピューティング環境において、プログラムモジュールを、ローカルのメモリ記憶デバイスと遠隔のメモリ記憶デバイスの両方の中に配置することが可能である。
【００１２】
図１を参照すると、本発明を実施するための例示的なシステムが、処理ユニット２１、システムメモリ２２、およびシステムメモリを処理ユニット２１に結合するシステムバス２３を含む従来のパーソナルコンピュータ２０を含む。システムメモリ２２は、読取り専用メモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。起動中などにパーソナルコンピュータ２０内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力／出力システム２６（ＢＩＯＳ）が、ＲＯＭ２４の中に記憶されている。パーソナルコンピュータ２０は、ハードディスクドライブ２７と、例えば、取外し可能なディスク２９に対して読取りまたは書込みを行うための磁気ディスクドライブ２８と、例えば、ＣＤ−ＲＯＭディスク３１を読み取るため、または他の光媒体に対して読取りまたは書込みを行うための光ディスクドライブ３０とをさらに含む。ハードディスクドライブ２７、磁気ディスクドライブ２８および光ディスクドライブ３０は、それぞれ、ハードディスクドライブインタフェース３２、磁気ディスクドライブインタフェース３３、および光ディスクドライブインタフェース３４でシステムバス２３に接続される。以上のドライブ、および関連するコンピュータ読取り可能媒体により、パーソナルコンピュータ２０のための不揮発性ストレージが提供される。以上のコンピュータ読取り可能媒体の説明は、ハードディスク、取外し可能な磁気ディスク、およびＣＤ−ＲＯＭディスクについて述べたが、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジなどの、コンピュータによって読取り可能である他のタイプの媒体も、例示的な動作環境において使用できることが、当分野の技術者には理解されよう。
【００１３】
オペレーティングシステム３５、１または複数のアプリケーションプログラム１００、ワードプロセッサプログラムモジュール３７（または他のタイプのプログラムモジュール）、マニフェスト３８のようなプログラムデータ、および他のプログラムモジュール（図示せず）を含むいくつかのプログラムモジュールを、ドライブおよびＲＡＭ２５内に記憶することが可能である。
【００１４】
ユーザは、キーボード４０や、マウス４２などのポインティングデバイスを介してパーソナルコンピュータ２０にコマンドおよび情報を入力することができる。その他の入力デバイス（図示せず）は、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等を含むことができる。以上の入力デバイス、およびその他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインタフェース４６を介して処理ユニット２１に接続されるが、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）などの他のインタフェースで接続してもよい。また、モニタ４７、またはその他のタイプの表示デバイスも、ビデオアダプタ４８などのインタフェースを介してシステムバスに接続される。モニタに加え、パーソナルコンピュータは、通常、スピーカまたはプリンタなどの他の周辺出力デバイス（図示せず）も含む。
【００１５】
パーソナルコンピュータ２０は、遠隔コンピュータ４９のような１または複数の遠隔コンピュータに対する論理接続を使用するネットワーク化された環境において動作することが可能である。遠隔コンピュータ４９は、サーバ、ルータ、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、パーソナルコンピュータ２０に関連して前述した要素の多く、またはすべてを含むが、メモリ記憶デバイス５０だけを図１に示している。図１に描いた論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【００１６】
ＬＡＮネットワーキング環境で使用される場合、パーソナルコンピュータ２０は、ネットワークインタフェース５３を介してＬＡＮ５１に接続される。ＷＡＮネットワーキング環境で使用される場合、パーソナルコンピュータ２０は、通常、インターネットなどのＷＡＮ５２を介して通信を確立するためのモデム５４、またはその他の手段を含む。内部にあることも、外部にあることも可能なモデム５４は、シリアルポートインタフェース４６を介してシステムバス２３に接続される。ネットワーク化された環境では、パーソナルコンピュータ２０に関連して描いたプログラムモジュール、またはプログラムモジュールの部分は、遠隔のメモリ記憶デバイスの中に記憶することが可能である。図示したネットワーク接続は例示的であり、コンピュータ間で通信リンクを確立する他の手段も使用できることが認められよう。
【００１７】
（動作）
図２は、ドキュメント内の個々の要素がデータベース内の対応するデータフィールド、クエリおよび／または手続きにマップされ、リンクされるドキュメントとデータベースの間の対話を示す簡略ブロック図である。本発明の実施形態によれば、ユーザが、ドキュメント内の要素をデータベース内の対応するデータフィールド、クエリおよび／または手続きに関連付ける。図２に示すとおり、ドキュメント内の要素をデータベース２０５内の対応するデータフィールド、クエリおよび／または手続きにリンクするための例示的なドキュメント２１０が示されている。当分野の技術者には理解されるとおり、ドキュメント２１０は、ワードプロセッサアプリケーション、スプレッドシートアプリケーション、Ｗｅｂブラウザアプリケーション等を含む様々なソフトウェアアプリケーションから作成することができ、利用することができるドキュメントを示す。単に例として、ドキュメント２１０は、ユーザが、タイトル２１２および教育セクション２１３を有する履歴書ドキュメントを準備しているワードプロセッシングドキュメントを例示している。当分野の技術者には理解されるとおり、図２に示したテキストは、単に例示的であり、ドキュメントに入力されるデータは、ドキュメントが作成されているソフトウェアアプリケーションが許容できる英数字テキストおよびイメージを含む任意の種類の形式であることができる。
【００１８】
ドキュメント２１０内の要素をデータベース２０５内の対応するデータフィールド、クエリおよび／または手続きに規定し、マップし、リンクするため、ドキュメント２１０内の要素に構造的に注釈を付けて、これらの要素を、データベース２０５内の対応するデータフィールド、クエリおよび／または手続きに対して特定し、指定することができる。本発明の実施形態によれば、構造的注釈（structural annotation）は、拡張可能マークアップ言語（ＸＭＬ）などのマークアップ言語を使用してドキュメント２１０に与えられる。ドキュメント２１０に示すとおり、ＸＭＬ要素である＜タイトル＞要素が、ドキュメントに適用されて、ドキュメントのタイトルセクション２１２のための構造を与え、＜教育＞要素２１５が、ドキュメントの教育セクション２１３に構造を与えるためにドキュメントに適用されている。
【００１９】
ドキュメント要素は、ドキュメントに固有識別子（ＩＤ）番号を与えること、およびその固有ドキュメントＩＤをデータベース内の所与のテーブル内の所与のレコードに関連付けることにより、データベース内の対応するデータフィールド、クエリおよび手続きにリンクされ、マップされる。従って、ドキュメント内の対応する要素が変更された場合、正しいレコードをデータベース内で見付けることができ、またデータベース内の対応するレコードが変更された場合、正しい要素をドキュメント内で見付けることができる。好ましくは、固有ＩＤ番号は、ドキュメント内に記憶される。
【００２０】
ドキュメントに含めることができるデータの種類および構造を支配する１組の文法規則をドキュメントに与えるため、図２に示すとおり、ＸＭＬスキーマが、ドキュメントに付加されるか、または関連付けられ、ユーザがドキュメントに注釈を付けることができるＸＭＬ要素のそれぞれを支配する規則を提供する。例えば、履歴書ドキュメントには、＜タイトル＞、＜教育＞、＜経験＞、＜個人的な関心＞などのＸＭＬ要素の許容できるセットを提供するために、「resume-schema.xsd」のようなスキーマファイル２３０が付加され、または関連付けられる。スキーマファイルは、要素をドキュメントに適用することが可能な順序を支配する規則、およびドキュメントに適用される個々の要素に関連する特定の規則を含む。例えば、図２に示した履歴書ドキュメントに付加され、または関連付けられたスキーマは、＜教育＞要素に関連付けられたデータが単科大学または総合大学の名前を含み、続いてその単科大学または総合大学の所在地を含まなければならないことを規定することができる。
【００２１】
当分野の技術者には理解されるとおり、ＸＭＬスキーマファイルの開発者が、ＸＭＬ要素の名前、およびその要素に許された関連するデータ型およびデータ構造を決める。すると、所与のスキーマファイル２３０に従ってＸＭＬ構造で注釈が付けられたドキュメントのすべてのユーザが、ドキュメントの全体的な型および構造に関わらず、ＸＭＬ構造に含まれるデータを利用することができる。例えば、図２に示す履歴書ドキュメントが将来の雇用者に送信される場合、将来の雇用者は、ドキュメントを構文解析するためのソフトウェアアプリケーションを開発し、雇用者が使用するためのドキュメント内の特定のデータ型を探し出すことができる。将来の雇用者は、例えば、将来の被雇用者が卒業している単科大学および総合大学のデータベースを作成することを所望する可能性がある。ドキュメントに付加されたスキーマファイル２３０を使用して、将来の雇用者は、＜教育＞要素に関連するデータが、ドキュメントを支配するスキーマファイルに従って準備されていることを知る。従って、将来の雇用者は、＜教育＞要素を探し出し、自らのデータベースに挿入するためにその要素に関連するデータを抽出するためのソフトウェアアプリケーションを開発することができる。上述したとおり、＜教育＞要素を、例えば、データベース内の教育レコードにリンクするため、ドキュメントおよびその要素をデータベース内の対応するレコードに関連付けるための固有識別子（ＩＤ）番号が、ドキュメントの中に記憶されなければならない。
【００２２】
将来の雇用者は、この例によれば、タイトルセクションの場所、およびタイトルセクションに含まれるデータなどのドキュメントの他の態様に関わらず、そのデータを抽出することができる。これは、ドキュメントの各ユーザが、ドキュメントに付加された、または関連付けられたスキーマファイルにおいて規定されたデータ型およびデータ構造規則に従っているという事実によって可能になる。スキーマファイル２３０を、ドキュメントに付加すること、またはスキーマファイルを、ドキュメントによってアクセス可能なスキーマファイルのライブラリなどの別個の場所に保持することができる。つまり、ドキュメントは、ドキュメントのＸＭＬ構造を支配するドキュメント規則を提供するためのスキーマファイル２３０を探し出すため、および／または特定するためのファイルパスポインタ（file path pointer）、または固有名前空間識別子（unique name space identifier）（例えば、ＵＲＩまたはＵＲＮ）を含むことができる。
【００２３】
簡単に前述したとおり、＜タイトル＞や＜教育＞などのドキュメントの要素を、データベース２０５内のデータフィールド、クエリおよび／または手続きにリンクして、以下に説明するとおり、対応するデータフィールド、クエリおよび／または手続きにおいて更新された情報が、ドキュメントに含まれる対応する要素に含まれるデータを自動的に更新するようにし、その逆も行われるようにすることができる。
【００２４】
データベース内の複数のフィールドおよびテーブルに影響を与えるデータベースに対する更新は、例えば、ＳＱＬ（structured query language）を使用して行うことができる。個々のデータフィールドから直接にもたらされることに加え、ドキュメント内のデータは、様々な選択基準に基づいてデータベースの多くのフィールドおよび／またはテーブルから情報を集めるクエリの結果からもたらされる可能性がある。さらに、当分野の技術者には理解されるとおり、多くのデータベースは、データベースにデータを書き込むためのコマンド、データベースからデータを抽出するためのコマンド、およびデータベース内のデータを操作するためのコマンドをデータベースに対して実行するためのプログラムである記憶された手続きの使用をサポートしている。
【００２５】
データフィールドをドキュメント内の要素に関連付けることに加えて、クエリおよび記憶された手続きを、ドキュメント内の要素に関連付けることができる。要素とクエリの間のリンクが、「一方向」（読取り専用）ではなく、「双方向」（読取り−書込み）であるようにするため、各要素に関して２つのタイプのクエリを生成することができる。データベースからデータを読み取るための１つのクエリだけが提供された場合、データに対する変更は、データベース内においてだけ行うことができ、ドキュメントは、変更を読み取ることだけが許される。他方、ドキュメント内のデータに基づいてデータベースを更新する１つのクエリだけが提供された場合、データベースを更新するのにドキュメントだけしか変更することができない。一方のクエリがデータベースからデータを読み取ることを目的とし、もう一方のクエリがデータベースに書き込むことを目的とする２つのクエリが提供される場合、双方向リンクが生成される。従って、ドキュメントまたはデータベースを更新して、他方が、その更新を自動的に継承することができる。一部の実施形態では、一方向リンクを有することが好ましい。例えば、データベース管理者は、特定のデータフィールドに対する変更が、ドキュメントではなく、データベースを更新することによってだけ行われることを好む可能性がある。従って、データベースから最新のデータを読み取るクエリが、データベースに対してドキュメントを最新に保つのに必要である。
【００２６】
例えば、ユーザは、特許出願を作成することが仕事である弁理士であると想定する。ユーザの会社における各特許出願には、固有ドキュメント識別子（ＩＤ）番号が割り当てられる。また、ユーザの会社が、データベースを使用して、弁理士の名前と各弁理士に割り当てられた特許出願の間の関連を記憶していると想定する。ユーザに特定の特許出願ドキュメントが割り当てられている場合、データベースは、所与のデータベーステーブル内の同じデータレコードの中にユーザの名前とドキュメントＩＤを記憶することにより、ユーザをその特許出願ドキュメントの所有者として特定するレコードを含む。この情報がデータベースの中に記憶されることに加え、出願ドキュメントの形式自体により、ドキュメントＩＤと弁理士の名前が出願ドキュメントの中に現れることが必要とされる。本発明を使用しなければ、弁理士の名前をデータベースに入力しなければならず、データベース内で弁理士名が変わった（例えば、出願が会社の別の弁理士に割り当てなおされた）場合、出願ドキュメントを手作業で編集して新しい弁理士名で前の弁理士名を置き換えなければならない。
【００２７】
本発明の実施形態によれば、ドキュメント内にデータベース内の対応するデータとの適切な関連を挿入するための手段が提供され、従って、所与のデータベーステーブル内の対応するデータレコードが変化した（例えば、出願ドキュメントに異なる弁理士が割り当てられた）場合、ドキュメントは、その変化を自動的に反映し、ドキュメント内に現れる弁理士名を更新する。関連が「双方向」である場合、つまり、ドキュメントがデータベースを更新する方法も規定されている場合、弁理士名をドキュメント内で変更して、その変更をデータベース内で更新することが可能である。適切なマークアップ要素（例えば、ＸＭＬが使用される場合、＜AttoneyName＞）でドキュメント内の弁理士名をマークアップして、その要素とデータベース内の適切なクエリ（例えば、データベースから読取りを行うための「GetCurrentAttoneyName」と呼ばれるデータベースの中に記憶された手続き、およびデータベースに書込みを行うための「SetCurrentAttorneyName」と呼ばれる別の手続きによって表わされる）の間のマッピングを指定することにより、「双方向」の関連または通信が生成される。この関連自体は、ドキュメントの中、またはドキュメントに関連するプログラムモジュールのいくつかの部分に記憶することができる。
【００２８】
データベース２０５で、ドキュメント２１０に含まれる規定された要素に対応するデータフィールド、クエリおよび／または手続きを、その要素に関連するデータの受取り、記憶、ソートおよび保持を行うために生成することができる。例えば、図２に示した履歴書ドキュメント２１０のユーザは、履歴書ドキュメント２１０の教育セクション２１３に入れられるデータを保持するために、＜教育＞要素２１５に関連するデータフィールドを含むデータベースレコードをデータベース２０５の中で準備することができる。理解すべきこととして、データベースは、データの様々な論理関係に従って編成することができる。特定のフィールドの中に特定のデータ、クエリおよび手続きを記憶することができる。ドキュメントに関連するフィールドの集合を、データベースレコードの中に集めることができる。データベーステーブルは、ドキュメントのクラスに関連するいくつかのレコードを含むことができる。
【００２９】
対応するデータフィールドがデータベース２０５内で確立されると、上述した固有ドキュメントＩＤがドキュメント２１０に書き込まれ、＜教育＞要素に関連付けられて、この要素が、＜教育＞要素に関するデータを有するデータフィールドを含むデータベース２０５内の対応するレコードを指すようにする。同様に、固有ドキュメントＩＤを使用して、教育データを含むデータフィールドがドキュメント２１０の＜教育＞要素に戻るようにリンクされる。従って、この特定のファイルに対応するデータベース（２０５）レコードの教育フィールド内のデータが更新された場合、履歴書ドキュメント２１０の教育セクション２１３に含まれるデータが、自動的に更新される。逆に、ユーザが、ドキュメント２１０の教育セクション２１３に含まれるデータを変更した場合、その変更が、データベース２０５内の適切なレコードの教育データフィールドに自動的に送られて、そこに含まれるデータを更新する。
【００３０】
当分野の技術者には理解されるとおり、ソフトウェアアプリケーションプログラムモジュールを、対応するデータフィールド、クエリおよび／または手続きを呼び出すため、または対応するドキュメント要素を呼び出すためのドキュメントソフトウェアアプリケーションとデータベースソフトウェアアプリケーションの両方に書き込み、データベースまたはドキュメントのいずれかでデータが変更された場合に、対応するデータフィールドに対する更新、または対応するドキュメント要素に対する更新を要求することができる。ドキュメント要素と対応するデータフィールドの間の通信、またはその逆の通信を誘導するためのソフトウェアプログラムモジュールを、ドキュメントアプリケーションおよび／またはデータベースアプリケーションに書き込まれるソフトウェアプログラムモジュールとすることができ、またはこのプログラムモジュールは、ドキュメントアプリケーションおよび／またはデータベースアプリケーションがアクセス可能なアプリケーションプログラミングインタフェースまたはダイナミックリンクライブラリとして動作することができる。データベース２０５に関するデータベースアプリケーション、および対応するメモリは、インターネットベースのＷｅｂサーバまたはデータベースサーバを介して、または遠隔のデータベースサーバに対するインターネット接続を介してユーザのコンピュータにアクセス可能な遠隔のコンピュータサーバ４９上に、ユーザのコンピュータ２０から遠隔に配置することもできる。
【００３１】
本発明の実施形態によれば、データベース２０５は、様々な規定されたドキュメントタイプを関連するデータフィールド、クエリおよび／または手続きとともに保持することが可能なドキュメントライブラリ２２０を含むことができる。以下に説明するとおり、ユーザは、既に構造的に注釈が付けられ、データベース内の対応するデータフィールド、クエリおよび／または手続きに関連付けられている特定のドキュメントを開くために、ユーザのドキュメントアプリケーションを介してドキュメントライブラリ２２０からドキュメントタイプを選択することができる。例えば、ユーザがある特許出願明細書ドキュメントを準備するプロジェクトチームのメンバである場合、特許出願明細書ドキュメントを、ドキュメントライブラリ２２０の中に含むことができる。ユーザは、特許出願明細書ドキュメントに作業を行うことを所望する場合、データベース２０５を介してドキュメントライブラリからその特許出願明細書ドキュメントを選択することができる。特許出願明細書ドキュメントは、ユーザのドキュメントアプリケーションを使用するユーザに対して、ドキュメントに対するすべての構造的注釈が既に配置されて開かれる。例えば、特許出願明細書ドキュメントは、ＸＭＬマークアップ注釈と関連するＸＭＬスキーマとファイルパスポインタとを含むテンプレートの形態であることができ、ユーザが、データベース２０５内の対応するデータフィールド、クエリおよび／または手続きからダウンロードされたデータから、このドキュメントの準備を始めることができるようにする。または、ユーザは、ドキュメントにデータを挿入し、そのデータが、データベース２０５に含まれる対応するデータフィールド、クエリおよび／または手続きに自動的に送られることによってドキュメントを準備することができる。
【００３２】
図２に示すとおり、データベース側でドキュメントライブラリ２２０から所与のドキュメントを選択すると、ユーザは、履歴書ドキュメント２１０に関連する履歴書ドキュメントに関するデータフィールド、クエリおよび／または手続きにアクセスすることができる。従って、ユーザは、対応するドキュメント２１０の中でデータが自動的に更新されるようにするために、個々のデータフィールド、クエリおよび／または手続き２２５に含まれるデータを更新することができる。データベース２０５は、数名のユーザが、対応するデータフィールド、クエリおよび／または手続きに含まれるデータの追加、削除および一般的な更新を行うために、履歴書ドキュメントデータベース２２５のような単一のデータベースにアクセスすることができる共用データ環境において運用することが可能である。履歴書ドキュメント２２５内のタイトルデータフィールドのような各データフィールドは、履歴書ドキュメント２１０の対応するタイトルセクション２１２にマップされ、リンクされるため、履歴書ドキュメント２２５のタイトルデータフィールドに含まれるデータに対する変更により、ドキュメントのタイトルセクション２１２に含まれる情報の更新が生じさせられる。例えば、履歴書ドキュメント２２５のタイトルセクション内のデータが、「ジョンドウ（John Doe）」から「ジェーンドウ（Jane Doe）」に変更された場合、履歴書ドキュメント２１０のタイトルセクションに含まれる情報が、「John Doe」から「Jane Doe」に自動的に変更される。同様に、ユーザが履歴書ドキュメント２１０を開き、タイトルを「John Doe」から「Jane Doe」に変更した場合、データベース２０５における履歴書ドキュメントデータフィールド２２５のタイトルセクションも同じく自動的に更新される。
【００３３】
図３は、ドキュメントを作成し、そのドキュメント内の要素をデータベース内の対応するデータフィールド、クエリおよび／または手続きにリンクするためのソフトウェアアプリケーションのコンピュータスクリーン表示を示す。本発明の一実施形態によれば、以上に簡単に説明したとおり、データベース２０５においてドキュメントライブラリ２２０にアクセスして、対応するデータベースにマップされている以前に作成されたドキュメントを獲得するため、または対応するデータベースにマップすることができるドキュメントを作成するためのドキュメントテンプレートを獲得することができる。図３を参照すると、ユーザのドキュメントアプリケーション３００の例示的なドキュメントライブラリボタン３１０が選択された後で、ドキュメントライブラリユーザインタフェース３２０を起動して、用意されているドキュメントまたはドキュメントタイプのリストをユーザに提供することができる。例えば、ユーザは、ドキュメントライブラリユーザインタフェース３２０から履歴書ドキュメント３２５を選択して、図２に示す履歴書ドキュメントを立ち上げることができる。
【００３４】
ユーザが、ドキュメントライブラリユーザインタフェース３２０からの履歴書ドキュメントの選択によって履歴書ドキュメント２１０を立ち上げると、履歴書ドキュメント２１０は、編集のためにユーザに表示される。本発明の一実施形態によれば、立ち上げられた履歴書ドキュメントは、ドキュメント要素のそれぞれの中に入れられたデータベース２０５の対応するデータフィールド、クエリおよび／または手続きからのデータを含む履歴書ドキュメント２１０の最新バージョンを含むことができる。何故ならば、ドキュメント要素は、固有ドキュメントＩＤを対応するデータベースレコードにマッチさせることにより、対応するデータベースレコードに関連付けられているからである。図２に関連して上述したとおり、ユーザが履歴書ドキュメント２１０の様々な要素に含まれるデータを更新すると、データベース２０５の対応するデータフィールド、クエリおよび／または手続きに含まれるデータが更新される。同様に、データベース２０５の対応するデータフィールド、クエリおよび／または手続きに含まれるデータに対する変更により、履歴書ドキュメント２１０のデータ要素に含まれる対応するデータが自動的に更新される。
【００３５】
別法として、インタフェース３２０を使用してドキュメントライブラリの中にリストされるドキュメントは、データベース２０５内の対応するデータフィールド、クエリおよび／または手続きに関連付けるためにユーザがアクセスすることができる様々なテンプレートドキュメントを含むことができる。本発明の実施形態によれば、各ドキュメントタイプは、所望のドキュメントに関するテンプレートを形成するためのＸＭＬ要素などのいくつかの構造的要素を含むことができる。ユーザは、例えば、履歴書ドキュメント２１０の教育セクションを完成させて、選択されたドキュメントを完成させた後、選択されたドキュメントのあらかじめ形式設定されたデータ要素に対応するデータフィールド、クエリおよび／または手続きを含むデータベース２０５上のデータ位置を選択することができる。従って、ユーザが準備されたドキュメントを保存する際、そのドキュメントに挿入されたデータも、データベース２０５内の対応するデータフィールド、クエリおよび／または手続きの中に保存される。上述したとおり、データベース内の対応するデータフィールド、クエリおよび／または手続きが変更または更新されるといつでも、ドキュメント内の対応する要素も同様に変更または更新され、その逆も同じである。新しいドキュメントが作成され、ドキュメントライブラリまたはドキュメントデータベースに保存された場合、新しいドキュメントＩＤを自動的に生成して、そのドキュメントに対応するレコードをデータベース内で生成することができる。
【００３６】
図４を参照すると、本発明の実施形態に従って、対応するデータベースに現在マップされていない、またはリンクされていないドキュメントを構造化して、そのドキュメントの様々な要素をデータベース２０５内の対応するデータフィールド、クエリおよび／または手続きにリンクすることができる。例えば、ユーザが、ユーザのワードプロセッサ３００のデータ入力エリア３０５内でドキュメントを準備することによって、履歴書ドキュメント２１０のようなドキュメントを準備している場合、ユーザは、自分が準備しているドキュメントに適用されるべき要素の示唆されるリストが自分に提供されるように、図３に関連して上述したドキュメントライブラリユーザインタフェース３２０から履歴書ドキュメントタイプを選択することができる。図４に示すとおり、履歴書ドキュメントタイプの選択に応答して、示唆される履歴要素のペイン３５０をユーザに提示して、ＸＭＬ構造で履歴書ドキュメントに注釈を付けるための示唆される要素をユーザに提供することができる。本発明の一実施形態によれば、ユーザは、ドキュメントに入り、＜教育＞要素３６０のようなＸＭＬ要素を手作業で入力することができ、またはドキュメントの教育セクション内にカーソル３６５を置き、ペイン３５０から教育要素３５５を選択して、ドキュメントの選択された領域に＜教育＞要素で自動的に注釈が付けられる。ユーザがＸＭＬ構造でドキュメントに注釈を付けると、ＸＭＬツリー表示ペイン３４０が提示されて、ドキュメントに適用されているＸＭＬ構造を概略形態でユーザに示すことができる。
【００３７】
新たに作成されたドキュメントにＸＭＬ要素構造などの構造で注釈が付けられると、ドキュメント要素を、対応するデータフィールド、クエリおよび／または手続きにリンクすることができ、上述したとおり、ドキュメントとデータベース２０５の間の通信を可能にする。本発明の一実施形態によれば、ドキュメントに注釈を付けるためにユーザに提供される示唆される要素に、データベース２０５内の対応するデータフィールド、クエリおよび／または手続きに対するポインタをあらかじめ入れる（prepopulated）ことができる。従って、示唆される要素の１つでドキュメントに注釈を付けることにより、ドキュメントに所望の構造が与えられるだけでなく、関連する要素が、データベース２０５内の対応するデータフィールドを指すようになる。
【００３８】
別法として、図５を参照すると、データフィールドマッピングユーザインタフェース５００をユーザに提供して、ドキュメントの要素をデータベース２０５内の対応するデータフィールド、クエリおよび／または手続きにマップすることができる。図５に示すとおり、ドキュメントからの要素のリストを、そのドキュメント要素をマップし、リンクすることができるデータフィールド、クエリおよび手続きの関連するリストとともにユーザインタフェース５００に入れることができる。理解されるとおり、ユーザインタフェース５００は、ドキュメント要素をクエリ５４０および手続き５４５にマップするためにも同じく適用可能である。つまり、図５に示すとおり、ユーザインタフェースは、ドキュメントとデータベースの間のデータ読取りおよびデータ書込みのための記憶された手続きのクエリ（例えば、ＳＱＬステートメント）または名前を含むように拡張することができる。
【００３９】
例えば、ユーザは、ドキュメントのタイトルセクションに挿入されるデータが、データベース２０５内のタイトルデータフィールドにマップされ、リンクされるべきことを所望する場合、ドキュメントのタイトル要素をデータベース２０５のタイトルデータフィールドにマップし、リンクするために、＜タイトル＞要素を選択し、続いてタイトルデータフィールドを選択することができる。従って、タイトル要素がタイトルデータフィールドにマップされた後、ドキュメントのタイトルセクションまたはデータベース２０５のタイトルデータフィールドのいずれかに含まれるデータに対する将来の変更により、対応するドキュメント要素またはデータフィールドの変更が生じさせられ、その逆も同じである。すべての所望のドキュメント要素が、対応するデータフィールド、クエリおよび／または手続きにマップされ、リンクされ、ドキュメントをレコード、または適切な１組のデータに関連付けるための固有ＩＤが存在すると、ドキュメント要素と対応するデータフィールド、クエリおよび／または手続きの間のデータ通信が確立される。
【００４０】
図６および７は、ドキュメントの要素をデータベースの対応するデータフィールド、クエリおよび／または手続きにマップし、リンクするための方法を示す流れ図である。６００の方法は、ステップ６０５で開始し、ステップ６１０に進み、データの保持および操作を行うためにデータベースまたはテーブル２０５が確立される。図６および７の説明では、例えば、最終的な特許出願明細書ドキュメントの準備に使用されるデータを保持するためにデータベース２０５においてテーブルが確立されるものと想定する。ステップ６１５で、ユーザが新しいドキュメントを作成しなければならないかどうかに関する判定が行われる。作成しなくてもよい場合、方法は、方法６３５に進み、「patentspecificationdocument-schema.xsd」のようなスキーマを既存の特許出願明細書ドキュメントに付加し、ＸＭＬ構造でドキュメントに注釈を付けるために利用できる規則および手続きを提供することができる。ステップ６４０で、既存のドキュメントにスキーマが付加される。別法として、ドキュメントは、既に付加されたスキーマ、または関連付けられたスキーマを有することもできる。
【００４１】
ステップ６１５で、新しいドキュメントが作成されなければならないという判定が行われ、方法は、ステップ６２０に進み、ユーザが、新しい特許出願明細書ドキュメントを作成して、図３、４、および５に関連して上述したとおり、ドキュメント要素をデータベース内のレコードにリンクするための固有ドキュメントＩＤをそのドキュメントの中に記憶させる。ステップ６２５で、データベース２０５の検査が行われ、ユーザによって作成されているその新しいドキュメントに関するスキーマが用意されているかどうかが判定される。図３および４を参照して上述したとおり、この判定は、ドキュメントライブラリを選択して、データベース３０５におけるそのドキュメントライブラリが、ユーザによって作成されている新しいドキュメントに関連付けることができるドキュメントタイプを含むかどうか判定することによって行うことができる。例えば、図３に示すとおり、ユーザは、ドキュメントライブラリユーザインタフェース３２０から特許開示ドキュメントタイプを選択することができ、ステップ６３０で、その特許開示ドキュメントタイプに関連するスキーマを獲得し、ユーザによって準備されている新しいドキュメントに付加することが可能である。
【００４２】
ステップ６４５で、ユーザによって作成され、および／または選択されたドキュメントに、ユーザが所望するＸＭＬ要素で注釈が付けられる。理解されるとおり、ステップ６１５で、ユーザが既存のドキュメントを選択した場合、ドキュメントに対する追加の構造的注釈はまったく必要とされない可能性がある。ステップ６５０で、ユーザは、データベース２０５内のテーブルを指定して、ドキュメント要素をデータベース２０５のテーブル内に保持される対応するデータフィールド、クエリおよび／または手続きに関連付けることができる。ステップ６５５で、図４および５に関連して上述したとおり、ドキュメント内の要素とデータベース２０５内の対応するデータフィールド、クエリおよび／または手続きの間のデータ通信を円滑にするため、ドキュメント内の要素が、データベース２０５内の所与のテーブル内の対応するデータフィールド、クエリおよび／または手続きにマップされ、リンクされる。
【００４３】
ステップ６４５を再び参照すると、ユーザによって作成されているドキュメントに関連するデータを保持するためのテーブルがデータベース２０５において準備されていない場合、ユーザは、ドキュメントに含まれるＸＭＬ要素が、選択されたテーブル内の対応するデータフィールド、クエリおよび／または手続きを含むように指定することができる。例えば、データベース２０５は、いくつかのデータフィールド、クエリおよび／または手続き、またはドキュメントタイプが含まれる可能性がある多くのテーブルを含むことができる。テーブルを、特許明細書ドキュメントに関連するデータを保持するためにデータベース２０５内で確立することができる。特許明細書ドキュメントのために生成されたテーブル内で、様々なサブファイルを生成して、個々の特許明細書ドキュメントに関連するデータを保持するためにことができる。各サブファイル内で、様々なデータフィールド、クエリおよび／または手続きを生成して、ユーザによって作成されている特許明細書ドキュメントの中に含まれる個々の要素に関連付けることができる。
【００４４】
ステップ６６０で、選択されたテーブル内で個々のデータフィールド、クエリ、および／または手続きを確立して、ドキュメントに適用されたＸＭＬ要素に関連付けることができる。一実施形態によれば、図５に関連して上述したとおり、ドキュメントに注釈を付けること、およびドキュメントを示唆されるデータフィールド、クエリおよび／または手続きにマップすることにより、選択されたテーブル内で対応するデータフィールド、クエリおよび／または手続きが確立される。別法として、ステップ６６５で、ユーザが、データベース２０５に直接に入り、ユーザによって作成されているドキュメントに適用された選択されたドキュメント要素にマップすることができるデータフィールド、クエリおよび／または手続きを有するテーブルを生成することができる。
【００４５】
ドキュメントが準備され、ＸＭＬ構造で注釈が付けられて、ドキュメント要素に対応するデータを含むためのデータフィールド、クエリおよび／または手続きが確立されると、方法は、図７のステップ６７０に進み、テーブルおよびドキュメントの通常の使用を開始することができる。ステップ６７５で、ユーザがドキュメントを変更し、保存した場合、方法は、ステップ６８０に進み、ドキュメントの様々な要素の中で変更され、保存されたデータが、テーブル内の対応するデータフィールド、クエリおよび／または手続きを更新することによってテーブルにおいて更新される。他方、ステップ６８５で、ユーザが、ドキュメント内の要素に対応するデータフィールド、クエリおよび／または手続きに含まれるデータに直接に変更を行った場合、方法は、ステップ６９０に進み、ドキュメント内の対応するデータ要素に関連するデータが、対応するデータフィールド、クエリおよび／または手続きの中で対応するデータが変更されるにつれて自動的に更新される。方法は、ステップ６９５で終了する。
【００４６】
上述したとおり、ドキュメントの要素をデータベース内の対応するデータフィールド、クエリおよび／または手続きにマップし、リンクするための方法およびシステムが提供される。本発明の範囲または趣旨を逸脱することなく、本発明において様々な変更または変形を行うことができることが、当分野の技術者には明白であろう。本発明の他の実施形態は、本明細書で開示する本発明の明細および実施を考慮することにより、当分野の技術者には明白であろう。
【図面の簡単な説明】
【００４７】
【図１】本発明の例示的な動作環境を提供するコンピュータ、関連する周辺デバイスおよびネットワーク化されたデバイスを示すブロック図である。
【図２】ドキュメント内の個々の要素がデータベース内の対応するデータフィールド、クエリおよび／または手続きにマップされ、リンクされたドキュメントとデータベースの間の対話を示す簡略ブロック図である。
【図３】ドキュメントを作成するため、およびドキュメント内の要素をデータベース内の対応するデータフィールド、クエリおよび／または手続きにリンクするためのソフトウェアアプリケーションのコンピュータスクリーン表示を示す図である。
【図４】ドキュメントを作成するため、およびドキュメント内の要素をデータベース内の対応するデータフィールド、クエリおよび／または手続きにリンクするためのソフトウェアアプリケーションのコンピュータスクリーン表示を示す図である。
【図５】ユーザが、ドキュメント内の個々の要素をデータベース内の対応するデータフィールド、クエリおよび／または手続きにマップすることができるようにするためのマッピングユーザインタフェースを示す簡略ブロック図である。
【図６】ドキュメントの要素をデータベースの対応するデータフィールド、クエリおよび／または手続きにマップし、リンクするための方法を示す流れ図である。
【図７】ドキュメントの要素をデータベースの対応するデータフィールド、クエリおよび／または手続きにマップし、リンクするための方法を示す流れ図である。
【符号の説明】
【００４８】
２０５  データベース
２１０  ドキュメント
２１２  ドキュメントのタイトル
２１３  ドキュメントのセクション
２１４、２１５  マークアップ言語要素
２２０  ドキュメントライブラリ
２２５  データフィールド
２３０  スキーマファイル
【図１】
2004246903.tif 000003
【図２】
2004246903.tif 000004
【図３】
2004246903.tif 000005
【図４】
2004246903.tif 000006
【図５】
2004246903.tif 000007
【図６】
2004246903.tif 000008
【図７】
2004246903.tif 000009