(57)【要約】ソース論理構造（６１０）の曖昧性を解消することを含む方法であって、対象論理構造（６２０）が同様のフォーマットを有し、この各論理構造がフィールド（６１５、６２５）を有し、各フィールドが論理構造のデータに基づく意味を有することを特徴とする方法が開示される。
2004507839.tif 000002
【特許請求の範囲】
【請求項１】
ソース論理構造又は対象論理構造のフィールドの曖昧性を解消することを含み、
該各フィールドが前記論理構造内のデータに基づく意味を有することを特徴とする方法。
【請求項２】
前記ソース論理構造又は前記対象論理構造のための仮想グループを含むメタデータを定義し、
該メタデータを使用して、１つの論理構造から別の論理構造へのマップを生成する、
ことを更に含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記マップの生成が、前記１つの論理構造内の仮想グループから、前記別の論理構造内の仮想グループへの位置を形成するマップデータに対してマッピング規則を定義することを更に含むことを特徴とする、請求項２に記載の方法。
【請求項４】
前記仮想グループを含む、前記マッピング規則と前記メタデータから、自動的にトランスフォームを生成することを更に含むことを特徴とする、請求項３に記載の方法。
【請求項５】
ソース論理構造又は対象論理構造のフィールドが、該論理構造内のデータに基づく意味を有し、処理システムによって実行されたときに、該システムに前記フィールドの曖昧性を解消させる命令を有する、コンピュータが読み込み可能な媒体。
【請求項６】
前記実行された命令により、前記システムが更に、メタデータを使用して、１つの論理構造から別の論理構造へのマップを生成することを特徴とする、請求項５に記載の媒体。
【請求項７】
前記実行された命令により、前記システムが更に、前記ソース論理構造及び対象論理構造のための仮想グループを含むメタデータを定義し、前記１つの論理構造内の仮想グループから前記別の論理構造内の仮想グループへのデータをマッピングするために、マッピング規則を定義することを特徴とする、請求項６に記載の媒体。
【請求項８】
前記実行された命令により、前記システムが更に、仮想グループを含む、マッピング規則とメタデータとから自動的にトランスフォームを生成することを特徴とする、請求項７に記載の媒体。
【請求項９】
ソース論理構造のフィールドの曖昧性を解消するための手段と、
対象論理構造のフィールドの曖昧性を解消するための手段と、
を含み、
前記各フィールドが、前記論理構造内のデータに基づく意味を有することを特徴とする装置。
【請求項１０】
前記曖昧性を解消するための手段の各々が、メタデータを使用して、１つの論理構造から別の論理構造へのマップを生成するための手段を更に含むことを特徴とする、請求項９に記載の装置。
【請求項１１】
前記ソース論理構造と前記対象論理構造のための仮想グループを含むメタデータを定義するための手段と、
前記１つの論理構造内の仮想グループから前記別の論理構造内の仮想グループへデータをマッピングするために、マッピング規則を定義するための手段と、
を更に含むことを特徴とする、請求項１０に記載の装置。
【請求項１２】
前記仮想グループを含む、前記マッピング規則と前記メタデータとから自動的にトランスフォームを生成するための手段を更に含むことを特徴とする、請求項１１に記載の装置。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は電子文書の表記及び変換のフィールドに関する。
【０００２】
（背景技術）
特定の文書形態のフィールドは、複数の意味を持つことが可能である。特定の具象文書において、具象文書内の構造の意味は、フィールド内のデータを調査することによってのみ明らかになる。そのような構造は、例えば電子データ交換（ＥＤＩ）又はＳＡＰ　ＩＤＯＣ文書におけるループ、又はＸＭＬにおけるコンテンツリストを備えた要素を繰り返すことが多い。そのような構造は、文書内の１つの（又はそれ以上の）フィールド（ＸＭＬにおいて、通常は属性内の値）によって定義された意味を有することが多い。
【０００３】
例えばＥＤＩ８５０（すなわち注文書）において、「Ｎ１」と呼ばれる「セグメント」（グループ）が表示される。Ｎ１セグメントの階層は、表１（部分的に記述されている）のように表すことができる。
表１
Ｎ１（グループ）
Ｎ１０１（修飾子フィールド）
Ｎ１０２（データフィールド）
Ｎ２（グループ）
Ｎ２０１（データフィールド）
Ｎ２０２（データフィールド）
Ｎ３（グループ）
Ｎ３０１（データフィールド）
Ｎ３０２（データフィールド）
Ｎ４（グループ）
Ｎ４０１（データフィールド）
Ｎ４０２（データフィールド）
Ｎ４０３（データフィールド）
Ｎ４０４（データフィールド）
ＮＸ２（グループ）
ＮＸ２０１（データフィールド）
ＮＸ２０２（データフィールド）
ＮＸ２０３（データフィールド）
【０００４】
この場合、Ｎ１０１は修飾子フィールドであり、他のフィールドは全てデータを保持する。全てのデータフィールドの意味は、Ｎ１０１の値から導出される。具象文書において、Ｎ１０１が「ＳＴ」の場合、Ｎ１以下の他の全てのフィールドは、「発送先」情報を記述し、Ｎ１０２は発送先の人の名前を「意味」し、Ｎ４０１は発送先の都市名と住所であり、Ｎ４０２は発送先住所の州又は行政区分名である。
【０００５】
しかし、具象文書において、Ｎ１０１が「ＢＴ」の場合、Ｎ１０２、Ｎ４０１、Ｎ４０２などより上の全てのフィールドは、「請求先」情報を保持する。それらの意味は、Ｎ１０１が「ＳＴ」の時と類似しており、例えばＮ１０１が「ＢＴ」の時、Ｎ４０１は「請求先」の都市名である。
【０００６】
Ｎ１以下で可能な構造は、Ｎ１０１における修飾子コードに基づいて変化しない。具象文書において、Ｎ１以下のフィールドの意味は、それらの位置とＮ１０１の値に依存する。
【０００７】
顧客文書のようなある文書を、ベンダー文書などの別の文書に変換する従来の方法は、そのようなケースを処理するためにカスタマイズされて記述されたコードに依存する。例えば、ベンダー１が、顧客１の使用するマッピングツールを有する場合を想定すると、顧客１は、文書２に対してＥＤＩ８５０（表１参照）をマッピングする。顧客１は表２に示されるようなコードを記述する。
表２
ｉｆ （Ｎ１０１ ＝＝”ＳＴ”）
｛
ｍｏｖｅ Ｎ１０２ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄ１
ｍｏｖｅ Ｎ３０１ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄ２
ｍｏｖｅ Ｎ４０１ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄ３
ｍｏｖｅ Ｎ４０２ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄ４
ｍｏｖｅ Ｎ４０３ ｔｏ Ｄｏｃｕｍｅｎｔ２． ｆｉｅｌｄ５
｝
ｅｌｓｅ ｉｆ （Ｎ１０１＝＝”ＢＴ”）
｛
ｍｏｖｅ Ｎ１０２ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄａ
ｍｏｖｅ Ｎ３０１ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄｂ
ｍｏｖｅ Ｎ４０１ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄｃ
ｍｏｖｅ Ｎ４０２ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄｄ
ｍｏｖｅ Ｎ４０３ ｔｏ Ｄｏｃｕｍｅｎｔ２．ｆｉｅｌｄｅ
｝
【０００８】
文書内の位置は、２つ以上の意味を有することが可能である。これは、マッピングを自動化することが困難であることを意味する。それよりもむしろ、マッピングは、手動で行われなければならず、マッピングの知識や規則を再利用することができないカスタマイズされたコードを必要とする。
【０００９】
従来の方法の使用には重大な欠点がある。例えば、マッピング及びマッピング規則は両方とも１回限りのものである。換言すれば、ユーザが文書変換の実行方法を定義する必要がある度に、同様のコードを記述してテストされなければならない。これによって、ソース文書から対象文書に変換する方法を定義するために要する時間が長くなる。
【００１０】
もう１つの欠点は、マッピング及びマッピング規則が、両方ともユーザ定義コードに依存することである。これにより、マッピングの保全性を自動的に認証することが困難になる。特別な意味を保持するかもしれない全ての文書の位置を知らなければならず、問題を処理するためのコードを記述するために十分な熟練を要するので、それはまたマッピングを定義しようと試みる人の能力レベルに対して最小限の制約を設ける。これは、マッピングにける問題を解決するために、コード修正を必要とするようなメンテナンスの負担を強いることになる。
【００１１】
更に、マッピング及びマッピング規則は、変換言語に依存する。記述されてテストされるべきコードは、文書を変換するための基礎となる変換エンジンに依存する。このように、マッピング規則は、変換エンジンに依存するようになり、ある変換エンジンのために定義された変換は、マッピング作業を別の変換エンジン上で行うためには恐らく調整を必要とするようになる。１つの変換エンジンから別の変換エンジンにトランスフォームを動かすことは困難である。
【００１２】
ソースのマッピングと対象のマッピングは、著しく異なるはずである。前述したケースを扱うためのコードは、文書がソース文書か対象文書かどうかによって異なる。例えばあるものが、ＡからＢにマッピングされていた場合、ＢからＡにマッピングするためには、マッピングのコードを別のロジックを使用して書き直す必要があるので、大規模な修正が必要である。
【００１３】
前述で用いられたマッピングツールのフィールド名又は文書構造は、自動マッピングの基準と見かけ上類似している。それらは仮想構造に対して自動マップできず、ユーザにコードを記述することを強制する。
【００１４】
（発明の開示）
ソース論理構造の曖昧性を解消することを含む方法であって、対象論理構造が同様のフォーマットを有し、この各論理構造がフィールドを有し、各フィールドが論理構造のデータに基づく意味を有することを特徴とする方法が開示される。
本発明は、添付図面によって限定されることなく、実施例の方法によって例証され、該図面は、同じ参照記号が同じ構成要素を表す。
【００１５】
（発明を実施するための最良の形態）
自動的にトランスフォームを生成するために、仮想グループを使用する方法が開示される。複数の意味を有する可能性のある構造の具象文書に仮想グループを使用することによって、それぞれの文書のメタデータは、各構造が単一の意味を有するように表記されることができる。これによって以下に説明されるように、トランスフォームが自動的に生成可能となる。
【００１６】
図１は文書の一部のデータ構造例を示す。グループＩは、その下に別のグループ、すなわちグループＡ、グループＢ、及びグループＣを有する。グループＢはその下に別のグループ、すなわちその中にフィールド１を有するグループ１を含む。この文書へのフルパスは、図示の最上部からフィールド１．１に至るまで、グループＩ／グループＢ／グループ１／フィールド１．１のように記述されることができる。
【００１７】
フィールド１．１は、グループＢの下のどこか別のフィールドの意味を指定するのに役立つ修飾子コードを保持する。図１の文書がマッピングのソース文書である場合、フィールド１．１以外のマッピングされたフィールドのデータは、対象文書に移動されることになる。図１が目標文書を記述している場合は、データを有する他のフィールドがソースから移ったときに、フィールド１．１は、修正値が書き込まれることになる。
【００１８】
多くの具象文書では、グループＢのような構造がしばしば繰り返されることを認識することは重要である。従って、図１はメタデータの実施形態の１つの実施例を示す。具象文書では、グループＢが、繰り返し現れる可能性がある。それぞれの出現は、グループＢの特定のインスタンスである。グループＢの各インスタンスは、グループＢの各フィールドに別々のデータを有することができ、該グループ下の全てのフィールドの意味は、Ｎ１０１の値に依存する。
【００１９】
仮想グループの有効化と無効化
図２は、グループＢ＿ＳＴが定義されている以外は、図１と同様の文書のデータ構造を表す。従って、マッピングがグループＢ＿ＳＴ下のフィールドにアクセスする場合、具象文書のフィールド１．１は、該フィールド内に「ＳＴ」を有することが分かる。仮想グループ下の構造は、その「被仮想化」グループ内の構造と同一である。グループＢ＿ＳＴは、その下にグループＢと同じ構造を有する。仮想グループのための修飾子コードは、仮想グループの名前の中に現れる。
【００２０】
グループＢ＿ＳＴは、有効化された仮想グループである。換言すれば、それは文書の中に現れる。例えばＧＵＩユーザが、文書内に挿入された仮想グループを起動して有効化し、その「被仮想化」グループの下の下部構造が使用可能になる場合がある。同様に、仮想グループは無効化されることができ、それによりその構造を文書から消滅させる。
【００２１】
仮想グループを定義するためのソースデータ
仮想グループの記述は、外部のデータソースに格納される。図３は、図２の仮想グループを生成するために必要な情報を含むデータ構造を示す。仮想グループを生成するために必要な情報は以下の通りである。
・被仮想化グループ−「仮想化」されるべきグループ。換言すれば、その構造が仮想グループによって表記されるグループであり、修飾子フィールドの値によって変更されたフィールドをその下のどこかに有するグループ。
・修飾子フィールド−修飾子コードを保持するフィールド。
・修飾子−具象文書内の修飾子フィールド内で、被仮想化グループの下のフィールドの意味を識別する修飾子コード。
・記述−仮想グループの一般的な意味のテキスト記述。
【００２２】
自動的にトランスフォームを生成するためのソース文書における仮想グループの使用
ユーザは、ソース文書内の仮想グループ下のフィールドから、対象文書内の対応するフィールドにマッピングするために、メタデータに対してマッピング規則を適用することができる。ソース文書内の仮想グループ下のフィールドは、他の全てのフィールドと同様に処理されることができる。移動又は標準のフィールドに適用される他の任意のマッピング規則などの、どのような操作も仮想グループ内のフィールドに対して同様に適用される。
【００２３】
トランスフォームとは、ある具象文書を別の文書に変換するために、変換エンジンによって使用されるコードである。トランスフォームは、ソース文書及び対象文書のメタデータに対して、マッピング規則を適用することによって生成される。仮想グループを含め、マッピング規則及びメタデータが定義された後、対象となる具象文書のために定義された仮想グループ下のフィールド上で、以下の処理を実行するトランスフォームが自動的に生成される。
修飾子フィールドが修飾子の値を保持するならば
グループ内の全てのフィールド又は任意の下部グループを、定義されたマッピング規則に基づいて対象文書にマッピングする
修飾子フィールドがその他の値を保持するならば
グループのこのインスタンスに対して何もしない
【００２４】
ソース文書内の仮想グループは、条件文であり、すなわち「被仮想化」グループ下の具象文書内の修飾子フィールドが、修飾子の値を保持する場合に限り、該グループ下のフィールドが存在する。図２に示された実施例において、「被仮想化」グループはグループＢであり、修飾子フィールドはグループ１／フィールド１．１である。従って、グループＢ＿ＳＴ下の任意のフィールドからのマッピングは、グループＢ／グループ１／フィールド１．１上で修飾子の値「ＳＴ」を保持する条件文である。
【００２５】
デフォルト値などに対応するための簡単な拡張は、本発明の範囲内であることに留意されたい。例えば、いずれの修飾子フィールドも該修飾子の値と適合しない場合は、該フィールドの値はデフォルト値と等しくなるように、仮想グループ下のフィールドのための一定値を、図３に示される情報に追加することができる。
【００２６】
自動的にトランスフォーメーションを生成するための対象文書における仮想グループの使用
ユーザは、ソース文書内のフィールドから、対象文書内の仮想グループ下の対応するフィールドにマッピングするために、メタデータに対してマッピング規則を適用することができる。対象文書内の仮想グループ下のフィールドは、他の全てのフィールドと同様に処理されることができる。移動又は標準のフィールドに適用される他の任意のマッピング規則などの、どのような操作も仮想グループ下のフィールドに対して適用される。
【００２７】
トランスフォームとは、ある具象文書を別の文書に変換するために、変換エンジンによって使用されるコードである。トランスフォームは、ソース文書及び対象文書のメタデータに対して、マッピング規則を適用することによって生成される。仮想グループを含め、マッピング規則及びメタデータが定義された後、対象となる具象文書のために定義された仮想グループ下のフィールド上で、以下の処理を実行するトランスフォームが自動的に生成される。
仮想グループ又は仮想グループの下部グループ内の任意のフィールドに関して、仮想グループのための修飾子フィールドが、仮想フィールドの修飾子の値以外の値に既に設定されているならば、
何もしない。
それ以外であれば、
修飾子フィールドに修飾子の値を書き込み、データ値をデータフィールドに書き込む。
【００２８】
例えば図２において、ユーザが、グループＢ＿ＳＴ／グループ２／フィールド２．２にマッピングすると、トランスフォームコードは次のように定義する。
現行のグループＢ／グループ１／フィールド１．１が、空白か又は「ＳＴ」を保持するならば、ソース文書からの値をグループＢ／グループ２／フィールド２．２に書き込む。
デフォルト値などに対応するための簡単な拡張は、本発明の範囲内であることに留意されたい。例えば、フィールドにマッピングされるべきものが無い場合に、該フィールドの値がデフォルト値と等しくなるように、仮想グループ下のフィールドのための一定値を、図３に示される情報に追加することができる。
【００２９】
ハードウエアの概要
本発明によれば、ホストコンピュータ・システムは、コンピュータ・ネットワーク又は通常の電話回線上でデータを送受信する。一実施形態によれば、本発明の別の態様と同様に、アクセス、ダウンロード、データ操作などのステップが、メモリ内に格納されている命令を実行するホストコンピュータの中央処理装置（ＣＰＵ）によって実装される。メモリは、ランダム・アクセス・メモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、大容量記憶装置などの永続的記憶域、又はこれらの装置の任意の組合せである。命令シーケンスを実行することによって、ＣＰＵの本発明によるステップの実行が起こる。
【００３０】
この命令は、記憶装置から、又はネットワーク接続を介した１つ又はそれ以上の別のコンピュータシステムから、ホストコンピュータのメモリにロードすることができる。例えば、サーバ・コンピュータは、ホストコンピュータによってネットワークを経由してサーバに送られたメッセージに呼応して、命令シーケンスをホストコンピュータに送ることができる。ホストコンピュータがネットワーク接続を経由して命令を受け取ると、ホストコンピュータは、この命令をメモリに格納する。ホストコンピュータは、ネットワーク接続を経由して命令が着いたときに、この命令を後で実行するためにメモリに格納するか、又は該命令を実行することができる。特定のケースにおいては、ダウンロードされた命令は、ＣＰＵによって直接サポートされることができる。他のケースにおいては、該命令がＣＰＵによって直接実行可能では無く、代わって、命令を解釈するインタープリタによって実行されても良い。別の実施形態において、本発明を実装するための、ソフトウエア命令の代わりに、又はソフトウエア命令と組み合わせて、ハードウエア回路を使用することができる。従って、本発明は、ハードウエア回路及びソフトウエアのどのような特定の組合せにも、又ホストコンピュータによって実行される命令のためのどのような特定のソースにも限定されるものではない。
【００３１】
図４は、ホストコンピュータ４０２が、ネットワーク４１０を経由してリモートコンピュータ４０４に接続されているシステム４００を示す。また、ホストコンピュータ４０２とリモートコンピュータ４０４間のネットワークのインターフェースには、ホストコンピュータ及びクライアントコンピュータ間で送られるデータをバッファへ格納し、送信経路を決定する役目を果たす、ルータ４０６及び４０８のような１つ又はそれ以上のルータを含むことができる。ネットワーク４１０は、インターネット、広域ネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、又はそれらの任意の組合せである。リモートコンピュータ４０４は、データを「ウエブページ」の形態で格納し、これらのページをハイパーテキスト・マークアップ言語（ＨＴＭＬ）ファイルとして、インターネット網４１０を経由して、ホストコンピュータ４０２に送る、ワールドワイドウエブ（ＷＷＷ）サーバである。これらのファイルにアクセスするため、ホストコンピュータ４０２は、種々のインターネットサイト上で利用可能なウエブページへアクセスしリンクを提供するための単純なアプリケーションプログラムである、「ウエブブラウザ」を実行する。また、ホストコンピュータ４０２は、通常モデムである電話回線インターフェースを経由して、電話システム４１２と通信するように構成される。
【００３２】
図５は、図４に示されたホストコンピュータ４０２のような、代表的なネットワークコンピュータのブロック図である。コンピュータシステム５００は、バス５０１を介してランダムアクセスメモリ（ＲＡＭ）５０４、読み出し専用メモリ（ＲＯＭ）５０６、及び大容量記憶装置５０７に結合されたプロセッサ５０２を含む。大容量記憶装置５０７はデータ及び命令を格納するためのディスク・ドライブ又はテープ・ドライブとすることができる。また、表示出力を提供するためのディスプレー装置５２０は、バス５０１を介してプロセッサ５０２に結合されている。キーボード５２１は、プロセッサ５０２に対して情報を伝達し、コマンドを選択するためにバス５０１に結合されている。別の型式のユーザ入力装置は、カーソル制御ユニット５２２であり、このユニットは、ディスプレー５２０上のカーソルの動きを制御する方向コマンドを伝達するための、マウス又はトラックボールのような装置とすることができる。また、バス５０１を介してプロセッサ５０２に結合されているのは、コンピュータ５００によって生成されるオーディオ信号を出力する、スピーカに接続するためのオーディオ出力ポート５２４である。
【００３３】
更に、バス５０１を経由してプロセッサ５０２に結合されているのは、入出力（Ｉ／Ｏ）インターフェース５２５、及びコンピュータシステム５００とネットワークとの間を物理的及び論理的に接続するためのネットワークインターフェース装置５２３である。ネットワークインターフェース装置５２３は、ネットワーク媒体上で通信するために、コンピュータ５００上で実行される種々の通信アプリケーションによって使用され、イーサネットカード、ＩＳＤＮカード、又は類似の装置とすることができる。
【００３４】
モデム５２６は、コンピュータシステム５００を電話回線にインターフェースし、コンピュータが生成したデジタルデータを、図４の電話システム４１２のような標準の電話回線上に送信することが可能なアナログ信号に変換する。本発明の実施形態において、モデム５２６は、電話線の壁ジャックに対する配線インターフェースを提供するが、しかしながら、モデム５２６はまた、携帯電話ネットワーク上で通信するための無線モデムとすることができる。図５のアーキテクチャは、図示の目的のためのみに提供されたものであって、本発明と共に使用されるホストコンピュータは、図示された特定のアーキテクチャに限定されるものでないことに留意されたい。
【００３５】
図４及び図５に示されたネットワーク及びコンピュータシステムは、本発明によって使用され、第１の文書を第２の文書に変換するためのトランスフォームを自動的に生成する。文書はフィールドと呼ばれる離散データ要素から構成される。フィールドは、データを保持する文書内の指定位置である。グループは、幾つかのフィールド又は下部グループを保持する文書内の指定コンテナである。マップは、ある文書（ソース文書）のフィールドを別の文書（対象文書）のフィールドに変換する方法を記述するレシピである。種々の文書フォーマットには、たとえこれらの抽象化が異なる方法で表されるにしても、多くの共通する抽象概念を有する。例えば、郵便の宛先は、所定の文書フォーマットに応じて種々の方法で表示されることができる。郵便の宛先は、名前、通り、都市などの幾つかのフィールドを包含することができる。このフィールドの集合が、図１及び図２に関して前述したグループの例である。
【００３６】
マッピングエンジン６５０は、図６に示されるように変換マップを生成する。変換マップは、メッセージをソースフォーマットから対象フォーマットに変換するために、変換エンジン６３０によって使用される。この変換マップは、対象文書を生成するためにソースフィールドを動かして操作する命令からなる、対象文書内のフィールドにデータを追加するのに使用されるソース文書内のフィールドの記述である。
【００３７】
図６は、２つの異なる文書のグループ及びフィールドの実施例、すなわちソース文書フォーマット６１０と、対象文書フォーマット６２０とを示す。この実施形態では、文書は注文書である。しかしながら、文書は、ある個人又は事業者が別の個人又は事業者に送りたい任意の情報を伝達することができる。ソースグループ６１５は、名前、住所、都市、説明、価格、数量、及び総額等のソースフィールドを含む。対象グループ６２５は、フィールド名、位置、情報、費用、数、及び金額等を含む。ソースグループと対象グループとのフォーマットは、構造的に異なるが、名前、金額、及び品物を出荷する場所などの類似点と共通する抽象概念を有する。従って、例えば「価格」と「費用」のように、グループ６１５と６２５の各フィールドの名前は異なるが、これらのフィールドに包含されるデータ６１７と６２７は、機能的に同等である。
【００３８】
ソースグループ６１５と対象グループ６２５に対応する仮想グループは、メタデータを使用して、これらの共通する抽象概念を取り込むために使用されることができる。例えば、ソース文書に関連するメタデータは、マッピングエンジンにより使用されて、ソースグループ６１５に対応する仮想グループを定義することができる。仮想グループを定義するために使用される該メタデータは、図３のようなデータ構造から取得されることができる。仮想グループが定義された後、マッピングエンジンは、仮想グループを含む、ソースグループに関連するメタデータにマッピング規則を適用して、トランスフォームを自動的に生成することができる。次に該トランスフォームは変換エンジンに提供され、該変換エンジンは、トランスフォームを用いてソース具象文書を対象文書に変換する。
【００３９】
図７は、仮想グループを使用して、トランスフォームを自動的に生成するための方法の実施形態を示す。第１の文書のための１つ又はそれ以上の仮想グループが、ステップ７１０で定義される。仮想グループは、図３のデータ構造内に包含されたメタデータを使用して定義される。１つ又はそれ以上のこれらの仮想グループが有効化され、その結果、ステップ７２０で、有効化された仮想グループが第１の文書内に現れる。１つ又はそれ以上の仮想グループが無効化され、その結果、ステップ７３０で、無効化されたグループは、第１の文書内に現れることは無い。第１の文書内のフィールドから第２の文書内のフィールドへデータをマッピングするためのマッピング規則が、ステップ７４０で定義される。次に、第１及び第２の文書の有効化された仮想グループを含む、メタデータにマッピング規則を適用することによって、第１の文書から第２の文書に変換するためのトランスフォームが自動的に生成される。
【００４０】
仮想グループを使用することによって、幾つかの利点がもたらされる。第１に、仮想グループを使用する方法により、マッピングエンジンが、ソース文書と対象文書との間でデータをマッピングする方法を記述するマッピングを自動的に生成することが可能になる。自動的にマッピングを生成することにより、必要に応じて仮想グループを有効とする。すなわち、潜在的に有効である仮想グループ下のフィールドがマッピングによって要求されたことが発見されると、仮想グループが有効になる。
【００４１】
第２に、仮想グループを伴う場合は、単にマッピングを行うだけで十分であることが多い。ユーザは、グループ下のデータが、特定の意味を持つ場合を特定するため、又は修飾子コードを対象文書内の対象仮想グループに入力するために、コードを書く必要がない。
【００４２】
第３に、コードを書くための能力を妥協して解決することが無い。この新しい手法は、従来の処理方法と共存することができる。第４に、変換エンジンのためのトランスフォーメーション命令を、正常に生成することができる。
【００４３】
第５に、文書ＡからＢへのマッピングは、仮想グループが無い場合のマッピングよりも、ＢからＡへのマッピングにはるかに近いものである。従って、ＢからＡへのマッピングは、ＡからＢへのマッピングの転換に近いものとして行われてきた。つまり、一方向のマッピングにより、別方向にマッピングするための殆どの情報が得られる。ユーザが、ＡからＢへマッピングするためにコードを書かなければならなかった場合には、そのような転換ははるかに多くの作業であったであろう。仮想グループによって、マッピングの転換ははるかに少ない作業になった。
【００４４】
第６に、仮想グループ下のフィールドに対する、又は仮想グループ下のフィールドからのマッピングは、変換エンジンに依存する。仮想グループを使用する方法は、変換エンジンが要求する方法でトランスフォームを書き出す際に、特定の変換エンジンに対して単に適切なコードを生成するだけである。
【００４５】
第７に、ユーザが書くコードの複雑な解析を行う必要も無く、本方法及び装置は、仮想グループ下のフィールドに対する、又は仮想グループ下のフィールドからのマッピングを認証することができ、ほとんどの場合はユーザがコードを書く必要が無い。ユーザがコードを書く必要があるマッピングはわずかであるので、マッピングの差をチェックするのがより容易である。第８に、マッピングの作業の大部分を行うのは、プログラマーではない。
【００４６】
第９に、全体のコードを必要とされる度合いが少ないほど、マップはより変換エンジンに依存する。第１０に、自動マッピングで生成されるコードは、ヒット率がより良いので、変換の生成がより速い。第１１に、ユーザがコードを書く必要がないので、マップのバグはより少ない。従ってマッピングのデバッグがより速くできる。第１２に、ユーザにとって製品化までの時間がより短い。第１３に、仮想グループは、仮想フィールドと共に機能する。第１４に、仮想グループのネスティング（ｎｅｓｔｉｎｇ）が機能する。換言すれば、具象文書内の構造の意味は、前述したように、幾つかの修飾子フィールドに依存することができる。
【００４７】
本発明のこれら及び他の実施形態は、これらの教示に従って実施されることができ、本発明の広範な技術的思想及び範囲から逸脱することなく、該教示によって種々の修正及び変更が可能であることは明白であろう。明細書及び図面は、従って限定的な意味ではなく、例証と見なされるべきであり、本発明は請求の範囲の観点によってのみ評価される。
【図面の簡単な説明】
【図１】
文書のデータ構造の実施例である。
【図２】
文書のデータ構造の別の実施例である。
【図３】
仮想グループを生成するために使用されるデータ構造の実施例である。
【図４】
文書を変換するために仮想グループを使用するネットワークの実施例である。
【図５】
文書を変換するために仮想グループを使用するコンピュータシステムの実施例である。
【図６】
文書を変換するために仮想グループを使用する変換システムの実施例である。
【図７】
仮想グループを使用して自動的に変換するための方法の実施形態である。
【図１】
2004507839.tif 000003
【図２】
2004507839.tif 000004
【図３】
2004507839.tif 000005
【図４】
2004507839.tif 000006
【図５】
2004507839.tif 000007
【図６】
2004507839.tif 000008
【図７】
2004507839.tif 000009
【国際公開パンフレット】
2004507839.tif 000010
2004507839.tif 000011
2004507839.tif 000012
2004507839.tif 000013
2004507839.tif 000014
2004507839.tif 000015
2004507839.tif 000016
2004507839.tif 000017
2004507839.tif 000018
2004507839.tif 000019
2004507839.tif 000020
2004507839.tif 000021
2004507839.tif 000022
2004507839.tif 000023
2004507839.tif 000024
2004507839.tif 000025
2004507839.tif 000026
2004507839.tif 000027
2004507839.tif 000028
2004507839.tif 000029
2004507839.tif 000030
2004507839.tif 000031
2004507839.tif 000032
2004507839.tif 000033
2004507839.tif 000034
【国際調査報告】
2004507839.tif 000035