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