(57)【要約】  ランタイム時に、ＸＭＬ（拡張可能なマーク付け言語）を用いてＥＤＩ（電子データ交換）文書をモデル化すること。複数の構造要素がＥＤＩ文書中で識別される。複数の対応するデータ値が、ＥＤＩ文書中の識別された複数の構造要素から識別される。複数の注釈が、ＥＤＩ文書中に含まれる複数の規則に対して生成される。複数の規則は、複数の対応するデータ値に関連するオペレーションを定義する。決定されたデータ値および生成された注釈は、ＥＤＩ文書に対応するＸＭＬスキーマへと変換される。そのＸＭＬスキーマは、ランタイム時に処理される。
2009527852.tif 000002
【特許請求の範囲】
【請求項１】
ランタイム時に、ＸＭＬ（拡張可能なマーク付け言語）を用いて、ＥＤＩ（電子データ交換）文書をモデル化するための方法であって、
前記ＥＤＩ文書中の複数の構造要素を識別するステップと、
前記ＥＤＩ文書中の前記識別された複数の構造要素から複数の対応するデータ値を決定するステップと、
前記複数の対応するデータ値に関連するオペレーションを定義する前記ＥＤＩ文書中に含まれる複数の規則に対して、注釈を生成するステップと、
前記決定されたデータ値および前記生成された注釈を、前記ＥＤＩ文書に対応するＸＭＬスキーマへと変換するステップと、
ランタイム時に、前記ＸＭＬスキーマを処理するステップとを備えることを特徴とする方法。
【請求項２】
前記識別するステップは、前記複数の構造要素中に含まれる１つまたは複数のループ、および１つまたは複数のセグメントを識別するステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記識別されたセグメントの前記１つまたは複数に関連する１つまたは複数のサブセグメントを識別するステップをさらに備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記注釈を生成するステップは、前記複数の規則に対する前記注釈を生成するステップを含み、前記複数の規則は、クロスフィールド妥当性検証規則、トリガフィールド情報、参照指定子、およびスプリットポイント情報のうちの１つまたは複数を含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記決定されたデータ値の構造を定義するために、複数のスキーマ規則に従って、前記ＸＭＬスキーマを構成するステップをさらに備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記注釈を生成するステップは、前記複数の規則に対する１つまたは複数の属性を含む前記注釈を生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項７】
１つまたは複数のコンピュータ可読媒体は、請求項１の前記方法を実施するためのコンピュータ実行可能命令を有することを特徴とする請求項１に記載の方法。
【請求項８】
ランタイム時に、ＸＭＬ（拡張可能なマーク付け言語）を用いて、ＥＤＩ（電子データ交換）文書をモデル化するためのシステム（１００）であって、
前記ＥＤＩ文書中の複数の構造要素を識別すること、
前記ＥＤＩ文書中の前記識別された複数の構造要素から複数の対応するデータ値を決定すること、
前記複数の対応するデータ値に関連するオペレーションを定義する前記ＥＤＩ文書中に含まれる複数の規則に対して、注釈を生成すること、
前記決定されたデータ値および前記生成された注釈を、前記ＥＤＩ文書に対応するＸＭＬスキーマへと変更すること、および
前記ＸＭＬスキーマを処理すること
を目的とするコンピュータ実行可能命令を実行するプロセッサ（１０６）を備えることを特徴とするシステム（１００）。
【請求項９】
前記識別された構造要素中の前記複数のデータ値の構文解析をするためのパーサ（１１２）をさらに備えることを特徴とする請求項８に記載のシステム（１００）。
【請求項１０】
前記プロセッサ（１０６）は、前記複数の構造要素中に含まれる１つまたは複数のループ、および１つまたは複数のセグメントを識別するように構成されることを特徴とする請求項８に記載のシステム（１００）。
【請求項１１】
前記プロセッサ（１０６）はさらに、前記識別されたセグメントの前記１つまたは複数に関連する１つまたは複数のサブセグメントを識別するように構成されることを特徴とする請求項１０に記載のシステム（１００）。
【請求項１２】
前記プロセッサ（１０６）は、前記複数の規則に対する前記注釈を生成するように構成されており、前記複数の規則は、クロスフィールド妥当性検証規則、トリガフィールド情報、参照指定子、およびスプリットポイント情報のうちの１つまたは複数を定義することを特徴とする請求項８に記載のシステム（１００）。
【請求項１３】
前記プロセッサ（１０６）はさらに、前記決定されたデータ値の構造を定義するために、複数のスキーマ規則に従って、前記ＸＭＬスキーマを定義するように構成されることを特徴とする請求項８に記載のシステム（１００）。
【請求項１４】
前記プロセッサ（１０６）は、前記複数の規則に対する１つまたは複数の属性を含む前記注釈を生成するように構成されることを特徴とする請求項８に記載のシステム（１００）。
【請求項１５】
ランタイム時に、ＸＭＬ（拡張可能なマーク付け言語）を用いて、ＥＤＩ（電子データ交換）文書をモデル化するためのコンピュータ実行可能コンポーネントを有する１つまたは複数のコンピュータ可読媒体（４０２）であって、前記コンピュータ実行可能コンポーネントは、
前記ＥＤＩ文書中の複数の構造要素を識別するための要素コンポーネント（４０４）と、
前記ＥＤＩ文書中の前記識別された複数の構造要素から、複数の対応するデータ値を決定するためのデータコンポーネント（４０６）と、
前記複数の対応するデータ値に関連するオペレーションを定義する前記ＥＤＩ文書中に含まれる複数の規則に対して、注釈を生成するための注釈コンポーネント（４０８）と、
前記決定されたデータ値および前記生成された注釈を、前記ＥＤＩ文書に対応するＸＭＬスキーマへと変換するための変換コンポーネント（４１０）と、
ランタイム時に、前記ＸＭＬスキーマを処理するためのペイロードコンポーネント（４１２）とを備えることを特徴とするコンピュータ可読媒体（４０２）。
【請求項１６】
前記要素コンポーネント（４０４）は、前記複数の構造要素中に含まれる１つまたは複数のループ、および１つまたは複数のセグメントを識別することを特徴とする請求項１５に記載のコンピュータ可読媒体（４０２）。
【請求項１７】
前記要素コンポーネント（４０４）はさらに、前記識別されたセグメントの前記１つまたは複数に関連する１つまたは複数のサブセグメントを識別することを特徴とする請求項１６に記載のコンピュータ可読媒体（４０２）。
【請求項１８】
前記注釈コンポーネント（４０８）は、前記複数の規則に対する前記注釈を生成し、前記複数の規則は、クロスフィールド妥当性検証規則、トリガフィールド情報、参照指定子、およびスプリットポイント情報のうちの１つまたは複数を定義することを特徴とする請求項１５に記載のコンピュータ可読媒体（４０２）。
【請求項１９】
前記変換コンポーネント（４１０）はさらに、前記決定されたデータ値の構造を定義するために、複数のスキーマ規則に従って、前記ＸＭＬスキーマを定義することを特徴とする請求項１５に記載のコンピュータ可読媒体（４０２）。
【請求項２０】
前記注釈コンポーネント（４０８）は、前記複数の規則に対する１つまたは複数の属性を含む前記注釈を生成することを特徴とする請求項１５に記載のコンピュータ可読媒体（４０２）。
【発明の詳細な説明】
【技術分野】
【０００１】
ＥＤＩ（Ｅｌｅｃｔｒｏｎｉｃ  ｄａｔａ  ｉｎｔｅｒｃｈａｎｇｅ：電子データ交換）は、公認のフォーマット規格またはスキーマに基づいてコンピュータ間でビジネス情報を交換するために、ビジネスで使用される方法の１つである。例えば、世界中で何百万の会社が、商取引をするためにＥＤＩを用いてビジネストランザクション（例えば、購入注文、船積み／航空貨物請求書、インボイスなど）に関連するデータを送信している。
【背景技術】
【０００２】
典型的なＥＤＩトランザクションモデルでは、大規模なビジネスエンティティ、またはＥＤＩ統合ブローカは、数多くのパートナーと取引をし、また様々なＥＤＩフォーマットおよびスキーマの数多くのＥＤＩトランザクションデータを処理するための技術的能力を有する。「ハブ」としても知られるこれらのエンティティは、「スポーク」としても知られる１つまたは複数の供給者と取引をする。各スポークは、通常、１つのハブと取引することができるだけの比較的小規模のビジネスエンティティである。
【０００３】
スポークがＥＤＩを介してハブとトランザクションを開始しようとする前に、ハブは、スポークがＥＤＩスキーマに従って適正にＥＤＩトランザクションをフォーマットできるように、通常、様々なＥＤＩスキーマをスポークに送信する。現在、ＥＤＩスキーマはサイズが大きく、各ＥＤＩスキーマに対するファイルサイズは、通常、１ＭＢから３ＭＢの範囲である。さらに、ハブまたは大規模な取引パートナーは、スポークのハードウェア能力の欠如を考慮せずに、習慣的に、大量のスキーマをスポークに送信する。したがって、伝送中の帯域幅で数ギガバイトを占有し得る数千のこのようなスキーマが、ハブからスポークに送信される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
スポークの伝送帯域幅を消費する大量のスキーマを送信することに加えて、関係するシステムまたは技法は、ＥＤＩスキーマを表すためにリニアまたはフラットファイルベースのものを用いてＥＤＩスキーマを定義する。これらの表現タイプまたはモデルは、簡単な構成を有するが、ＥＤＩスキーマに関連する追加の情報を表すための、また時々ある重要な情報を有するための十分な能力を有していない。したがって、スポークおよびハブも同様に、ＥＤＩトランザクションの利便性の十分な利益を最大化することができない。
【課題を解決するための手段】
【０００５】
本発明の諸実施形態は、ＸＭＬ（拡張可能なマーク付け言語）コンフィギュレーションを用いて、構造化ＥＤＩ文書を記述することにより、ＥＤＩスキーマを表現する従来の手法および慣行を向上させる。ＥＤＩペイロードを、ランタイム中にＸＭＬペイロードとしてモデル化することにより、本発明の諸実施形態は、スキーマおよび変換マップを開発する時間を低減する。さらに、代替の実施形態は、ＥＤＩデータ中に存在する複数の妥当性検証規則に関連する情報を含むＸＭＬ  ＥＤＩスキーマ中に注釈を生成する。
【０００６】
この要約は、以下の詳細な説明でさらに述べる概念の選択を簡単化された形で導入するために提供される。この要約は、特許請求される主題の重要な特徴、または本質的な特徴を特定することを意図しておらず、あるいは特許請求される主題の範囲の決定を支援するものとして使用されることも意図していない。
【０００７】
他の特徴は、以下において一部が明らかとなり、また一部が示されることになろう。
【０００８】
図面を通して、対応する参照記号は対応する部分を示す。
【発明を実施するための最良の形態】
【０００９】
まず図１を参照すると、ブロック図は、本発明の実施形態に従ってＥＤＩ（電子データ交換）トランザクションを行うためのシステム１００を示している。システム１００は、１つまたは複数のスポーク１０４にリンクされ、かつスポーク１０４と通信するハブ１０２を含む。一実施形態では、ハブ１０２は、スポーク１０４に対して働くコンピュータ実行可能命令を実行するための、１つまたは複数のプロセッサ（例えば、プロセッサ１０６）または処理装置を提供するサーバコンピュータまたはコンピューティングデバイスを含む。一例では、スポーク１０４は、図６に示すように、コンピュータ１３０中に含まれる、またはコンピュータ１３０と結合される１つまたは複数のコンポーネントを有するコンピューティングデバイスを含む。
【００１０】
一例では、ハブ１０２はまた、ＥＤＩスキーマ１１０など、１つまたは複数のＥＤＩスキーマを記憶するためのメモリ領域１０８を含む。最初に、ハブ１０２およびスポーク１０４は、それらの間でトランザクションデータを送信するために使用されるＥＤＩフォーマットまたは規格に関して合意を確立する。その当事者が使用する特定のＥＤＩフォーマットまたは規格を決定した後、ハブ１０２は、スポーク１０４に送信すべき適切なＥＤＩスキーマを選択する。他の例では、ハブ１０２は、購入注文、船荷証券、インボイス、ペイロールなど、スポーク１０４に対するすべてのタイプのトランザクション用のＥＤＩスキーマをすべて選択するように選ぶことができる。ハブ１０２とスポーク１０４の間の通信は、専用もしくは公衆通信ネットワーク、有線もしくは無線ネットワークとすることができるが、スポーク１０４は、通常、ハブ１０２から送られる大量のＥＤＩスキーマを処理するためのハードウェア資源を欠いている。さらに、スポーク１０４のためのコンピューティングネットワーク通信のタイプおよび帯域幅は、データサイズで数ギガバイトに達する可能性のある数千のＥＤＩスキーマにより課せられるこのような要求を処理する能力を有してはいない。
【００１１】
次に図２を参照すると、ブロック図は、本発明の実施形態によるＸＭＬを用いた構造化ＥＤＩスキーマを示している。上記で述べたように、関連する慣行では、簡単化されたリニアまたはフラットコンフィギュレーションを用いて、ＥＤＩスキーマを表す。表１は、左の列で、本発明の諸態様を実施する構造化ＥＤＩスキーマで３つのＥＤＩトランザクションを示し、またそれに対応する従来のＥＤＩ表現における３つのトランザクションを示す。
【００１２】
【表１】
2009527852.tif 000003
【００１３】
図示のように、フラットＥＤＩスキーマは、左の列の構造化ＥＤＩスキーマよりも、多くの記号を使用し、したがって、より多くのデータサイズを占有する。一実施形態では、ＥＤＩスキーマの構造は、ランタイム中に高速の処理を可能にし、また知られたＸＭＬ編集ツールを用いて、ユーザが容易に構成し、編集し、かつ変更することを可能にするＸＭＬを用いて表される。
【００１４】
一例では、ＥＤＩスキーマは名前空間とルートノード名の組合せを含むことのできるＤｏｃＴｙｐｅにより識別される。一例では、ＤｏｃＴｙｐｅは、ＴａｒｇｅｔＮａｍｅｓｐａｃｅ‘＃’ＲｏｏｔＮｏｄｅＮａｍｅと定義される。Ｘ１２規格が使用される例では、Ｘ１２スキーマは、以下のフォーマットを使用する。
【００１５】
【表２】
2009527852.tif 000004
【００１６】
それは、以下のことを示す。
【００１７】
１）すべてのＸ１２スキーマは、Ｘ１２で始まるルートノード名を有すること、
２）「Ｖｅｒｓｉｏｎ」は、文書のバージョン情報を表しており、それは、コンフィギュレーションまたはインスタンス駆動型である動的な情報であること、および
３）「ＴｓＩｄ」は、処理される文書の「トランザクションＩＤ」を表し、常に、入力インスタンスから読み取られること。
【００１８】
他の例として、他のよく知られた規格であるＥＤＩＦＡＣＴは、ＥＤＩＦＡＣＴスキーマを表すための以下のフォーマットを含む。
【００１９】
【表３】
2009527852.tif 000005
【００２０】
それは、以下のことを示す。
【００２１】
１）すべてのＥＤＩＦＡＣＴスキーマは、Ｅｆａｃｔで始まるルートノード名を有すること、
２）「Ｖｅｒｓｉｏｎ」は、文書のバージョン情報を表しており、それは、コンフィギュレーションまたはインスタンス駆動型である動的な情報であること、および
３）「ＴｓＩｄ」は、処理される文書の「トランザクションＩＤ」を表し、常に、入力インスタンスから読み取られること。
【００２２】
図２に示すように、構造的な概観におけるＥＤＩスキーマ２０２は、１つまた複数のルートノード２０４を含むことができる。各ルートノード２０４は、一連のループ２０６およびセグメント２０８を子として含む。ループ２０６は、１つまたは複数のネストされたサブループ２１０またはサブセグメント２１２を含むことができる。
【００２３】
同様に、セグメント２０８は、１つまたは複数のコンポーネントデータ要素２１４、およびデータ要素２１６を含むことができる。一実施形態では、ＥＤＩスキーマを表すＸＭＬペイロードスキーマは、以下の構造を保有することができる。
【００２４】
【表４】
2009527852.tif 000006
【００２５】
一実施形態では、ＸＭＬを用いたＥＤＩスキーマのモデル化において、複数のスキーマ規則が、ＸＭＬスキーマを構成するために適用される。例えば、複数の規則は、以下のものを含むことができる。
１．１つまたは複数の要素（例えば、ループ、セグメントなど）は、各レベルで属性を有しない。
２．すべての複雑型は「ｓｅｑｕｅｎｃｅ」コンポジタを使用することになる。一例では、複雑型は、階層化データエンティティをモデル化するための構成体である。各複雑型は、その子をグループ化するために、「ｓｅｑｕｅｎｃｅ」、「ｃｈｏｉｃｅ」、または「ａｎｙ」コンポジタを使用することができ、各コンポジタは、以下に従って使用することができる。
ａ）ｓｅｑｕｅｎｃｅ−子はＸＭＬインスタンス内で特定の順番で生ずるべきである。
ｂ）ｃｈｏｉｃｅ−１つのＸＭＬインスタンス中に、子のうちの１つだけ出現することができる。
ｃ）ａｎｙ−子はＸＭＬインスタンス中で任意の順番で出現することができる。
一実施形態では、ＥＤＩスキーマは、ｓｅｑｕｅｎｃｅコンポジタだけを使用する。代替の実施形態では、「ｃｈｏｉｃｅ」および「ａｎｙ」コンポジタは使用されない。複雑型は、子として要素に含まれるだけであり得る。
３．文書のルートノードから開始して、サブストリング「Ｌｏｏｐ」を含む任意の要素は、ループ要素と見なされることになる。そうでない場合、セグメントと見なされる（以下のさらなる議論を参照のこと）。
４．セグメントが識別された後、セグメントのサブストリングは識別されない。
５．セグメントは、構造化ＸＭＬスキーマ中で、子および孫を有することができる。例えば、セグメントノードからの距離が１と２の子孫だけが、構造の一部として許容されることになる。
６．ＥＤＩスキーマにおける規則を表すために、１つまたは複数の注釈が生成される。例えば、注釈は、１つまたは複数の以下のものを表すために使用され得る。
ａ）クロスフィールド妥当性検証（ｃｒｏｓｓ  ｆｉｅｌｄ  ｖａｌｉｄａｔｉｏｎ）規則
ｂ）トリガフィールド（ｔｒｉｇｇｅｒ  ｆｉｅｌｄ）情報、ＨＩＰＡＡ（Health Insurance Portability and Accountability Act：医療保険の相互運用性と説明責任に関する法律）とのコンプライアンスに関連するスキーマで使用される。
ｃ）参照指定子
ｄ）スプリットポイント情報規則。例えば、スプリットポイント情報は、ＥＤＩスキーマの要件を満たすＥＤＩスキーマまたはＥＤＩトランザクションが複数のサブ文書に分割された場合の情報を示す。
【００２６】
一実施形態では、ＸＭＬスキーマは、１つまたは複数の２または３個の記号タグを用いて構造化される。図３は、本発明の諸態様を実施するＸＭＬスキーマを示す図である。例えば、パネル３０２は、１つまたは複数の２または３個の記号タグを示す。例えば、タグは、「ＳＴ」、「ＢＥＧ」、「ＣＵＲ」を含む。
【００２７】
一実施形態では、セグメント要素の名前に基づいて、最初の３つの記号が、ｔａｇＩＤと見なされ得る。代替の実施形態では、３つの記号のタグの３番目の記号が「＿」記号である場合、セグメントＩＤは、第１の２つの記号だけになる。さらに、２つの記号のうちの一方が、「−」記号を含む場合、コンパイルエラーが生ずる。例えば、
ａ）「ＢＥＧ＿ＢｅｇｉｎＴｒａｎｓａｃｔｉｏｎ」は、セグメントＩＤがＢＥＧであることを意味する、
ｂ）「Ｎ１＿８５０Ｓｅｇｍｅｎｔ」は、セグメントＩＤがＮ１であることを意味する、
ｃ）「Ｎ＿ａｂｃ」は、無効なセグメントを意味する、
ｄ）「Ｎ１＿Ｌｏｏｐ」は、これはループであり、セグメントではないことを意味する、
ｅ）「Ｎ＿Ｌｏｏｐ」は、これは無効なセグメントではないが、ループであることを意味する。
【００２８】
他の実施形態では、１つまたは複数の特別の規則を１組のセグメントタグに適用することができる。例えば、「ＩＳＡ」、「ＩＥＡ」などのタグは、特別の意味を有しており、それらは制御セグメントと呼ばれる。同様に、「ＳＴ」および「ＳＥ」などのタグは、制御およびデータセグメントの両方である。以下のリストは、１組の例示的な制御セグメントタグを提供する。
【００２９】
ＩＳＡ
ＧＳ
ＳＴ
ＳＥ
ＧＥ
ＩＥＡ
ＵＮＯＡ
ＵＮＢ
ＵＮＧ
ＵＮＨ
ＵＮＴ
ＵＮＥ
ＵＮＺ
【００３０】
他の例では、本発明の諸実施形態は、注釈を用いて、１つまたは複数の規則を説明することによりＥＤＩスキーマの機能を高める。例えば、１つまたは複数のクロスフィールド妥当性検証規則の処理において、規則は、セグメントレベルのノードで注釈として表現される。すべてのセグメントは、ＲｕｌｅＳｅｔとしても知られる任意選択の規則リストを含む。例えば、パネル３０４は、構造化ＸＭＬスキーマにおける１つまたは複数の注釈タグを示す。例として、１組の例示的な規則を以下の段落で述べる。
【００３１】
Ｐａｉｒｅｄ／Ｍｕｌｔｉｐｌｅ−（ａｌｌ、ａｂｓｅｎｔ）−すべてのサブジェクト名が存在する、または存在しない。
【００３２】
例えば、
【００３３】
【表５】
2009527852.tif 000007
【００３４】
Ｒｅｑｕｉｒｅｄ−（ｇｒｏｕｐｅｄ、ａｂｓｅｎｔ）−サブジェクトのうちの少なくとも１つが必要である。
【００３５】
【表６】
2009527852.tif 000008
【００３６】
Ｅｘｃｌｕｓｉｏｎ−（ａｎｙ、ａｂｓｅｎｔ）−１つのサブジェクトだけが存在できる。
【００３７】
【表７】
2009527852.tif 000009
【００３８】
Ｃｏｎｄｉｔｉｏｎａｌ−（ａｌｌ、ｖａｌｕｅ）−修飾子（ｑｕａｌｉｆｉｅｒ）が存在する場合、すべてのサブジェクトが必要である。
【００３９】
【表８】
2009527852.tif 000010
【００４０】
Ｌｉｓｔ−（ａｎｙ、ｖａｌｕｅ）−修飾子が存在する場合、少なくとも１つのサブジェクトが必要である。
【００４１】
【表９】
2009527852.tif 000011
【００４２】
ＥＤＩスキーマの従来の表現またはモデルとは異なり、本発明の実施形態は、ＸＭＬを用いてＥＤＩスキーマに関連する規則を記述するための１組の豊富な情報を提供する。
【００４３】
上記で示したように、各規則は「サブジェクト（ｓｕｂｊｅｃｔ）」属性、任意選択の修飾子（ｑｕａｌｉｆｉｅｒ）属性、およびサブジェクト要素のリストを有する。例えば、各規則は、（サブジェクト、修飾子）ペアの値に基づいて定義される。
【００４４】
一実施形態では、規則のオペランドは、セグメント内で見出されるデータ要素である。この実施形態では、規則の評価中、オペランドの特定の値は必要としない。そうではなくて、必要とされるものは、データ要素に値が付けられているかどうかの情報である。例として、図１のシステム１００を用いてパーサ／シリアライザ１１２による構文解析または直列化（ｓｅｒｉａｌｉｚａｔｉｏｎ）中に、セグメントが認識されると、パーサ／シリアライザ１１２は、空ではない値を有するデータ要素を常に追跡することができる。セグメント処理が終了した後、パーサ／シリアライザ１１２は、すべての規則オペランドを評価することができ、したがって、ＲｕｌｅＳｅｔを実行することができる。規則オペランドの処理中にエラーが生じた状況では、１つまたは複数のエラーコードが発行される。例として、特定の規則違反に対応する１組の例示的な適切なエラーコードを以下で述べる。
エラーコード２−条件的な必要データ要素の紛失−これは、条件規則が違反されたときに報告されることになる。報告されるフィールド番号は、（規則で定義された順番で）存在しない最初のものになる。
エラーコード１０−Ｅｘｃｌｕｓｉｏｎ条件違反−これは、Ｅｘｃｌｕｓｉｏｎ規則が違反されたとき報告される。報告されるフィールド番号は、（規則で定義された順番で）少なくとも２フィールドに値を付けた最初のものになる。
エラーコード１４−（ＢＴＳ−ＥＤＩ特有のもの）−クロスフィールド妥当性検証規則違反−このエラーは、他の種類の規則すべてに対して生成され、また以下の状況下で生成される。
ａ）Ｐａｉｒｅｄ規則−報告されるフィールド番号は、存在しない最初のものになる。
ｂ）Ｒｅｑｕｉｒｅｄ規則−これは、すべてのサブジェクトが存在しない場合にのみ違反され得る。このタイプのシナリオでは、規則で述べられた最初のフィールドが、違反を生じているとして報告されることになる。
ｃ）Ｌｉｓｔ規則−これは、修飾子が存在し、すべてのサブジェクトが存在しない場合に違反され得る。このような場合、規則で述べられた最初のフィールドが、違反を生じているとして報告されることになる。
【００４５】
ＥＤＩスキーマのモデル化において、本発明の諸実施形態は、ＥＤＩスキーマに含まれる様々なデータ型を適切に考慮する。例として、Ｘ１２フォーマットにおける１つまたは複数のデータ型を以下に述べる。
【００４６】
Ａ．Ｘ１２データ型：
【００４７】
Ｘ１２は、いくつかのデータ型を定義する。このような型は、パーサ／シリアライザにより認識される。それらは、このような型を検証する能力を有しており、任意の必要な変換を実施する。しかし、文書スキーマは、それに関連する任意の種類の単純型を有することができる。それがＥｄｉデータ型ではない場合、それはスキーマの妥当性検証フラグが立てられているかどうかに応じて、ＸｍｌＶａｌｉｄａｔｉｎｇＲｅａｄｅｒなどの、妥当性が検証されたコード、ルーティング、コンピュータ実行可能命令である。
【００４８】
１．「Ｎ」−これは、任意選択の長さ制約を有する整数（ｉｎｔｅｇｅｒ）データ型である。このタイプの単純要素は、ローカル名「Ｎ」を有する型に対する制約である単純型を有するべきである。また「Ｎ」は、本質的にｘｓ：ｓｔｒｉｎｇである。
【００４９】
【表１０】
2009527852.tif 000012
【００５０】
２．「Ｎｎ」−これは、ｎ＞０により指定される暗黙に定義された小数点を有する整数（ｉｎｔｅｇｅｒ）型である。したがって、型がＮ２である場合、パーサは１２３４を１２．３４に変換する。同様に、１２．３４は、シリアライザにより１２３４に変換される。小数点が認識されず、または長さ制約に従っていない場合、適切なＥｄｉエラーコードが生成されることになる。このタイプの単純要素は、例えば、ローカル名「Ｎ２」を有する型に対する制約である単純型を有するべきである。また「Ｎ２」は、本質的にｘｓ：ｓｔｒｉｎｇである。
【００５１】
【表１１】
2009527852.tif 000013
【００５２】
３．「ＩＤ」−これは、任意選択の長さ制約を有する列挙（ｅｎｕｍｅｒａｔｉｏｎ）データ型である。このタイプの単純要素は、ローカル名「ＩＤ」を有する型に対する制約である単純型を有するべきである。また「ＩＤ」は、本質的にｘｓ：ｓｔｒｉｎｇである。列挙のリストが空である場合、任意のデータ値が許容されることになる。
【００５３】
【表１２】
2009527852.tif 000014
【００５４】
４．「ＡＮ」−これは、長さ制約を有する英数字（ａｌｐｈａｎｕｍｅｒｉｃ）データ型である。このタイプの単純要素は、ローカル名「ＡＮ」を有する型に対する制約である単純型を有するべきである。また「ＡＮ」は、本質的にｘｓ：ｓｔｒｉｎｇである。
【００５５】
【表１３】
2009527852.tif 000015
【００５６】
５．「Ｒ」−これは実数である。このタイプの単純要素は、ローカル名「Ｒ」を有する単純型を有するべきである。また「Ｒ」は、フォーマット［正負符号］整数部桁数（ｉｎｔｅｇｒａｌ−ｄｉｇｉｔ）［．［小数部桁数（ｆｒａｃｔｉｏｎａｌ−ｄｉｇｉｔｓ）］］を有する。ただし、
【００５７】
正負符号は、−だけであり、＋は許容されないことになる。
【００５８】
【表１４】
2009527852.tif 000016
【００５９】
６．「Ｄａｔｅ」−これは日付（ｄａｔｅ）データ型である。このタイプの単純要素は、ローカル名「ｄａｔｅ」を有する単純型を有するべきである。そのフォーマットはＣＣＹＹＭＭＤＤである。
７．「Ｔｉｍｅ」−このタイプの単純要素は、ローカル名「ｔｉｍｅ」を有する単純型を有するべきである。そのフォーマットは、ＨＨＭＭ［［ＳＳ］［ｄ［ｄ］］］である。
【００６０】
Ｂ．ＥＤＩＦＡＣＴ  データ型：
【００６１】
同様に、ＥＤＩＦＡＣＴフォーマットでスキーマを記述することにおいて、ＥＤＩＦＡＣＴスキーマは、以下のうちの１つなど、いくつかのデータ型を定義する。
【００６２】
１．「ａ」−これは、長さ制約を有するアルファベット（ａｌｐｈａｂｅｔｉｃ）データ型である。このタイプの単純要素は、ローカル名「ａ」を有する型に対する制約である単純型を有するべきである。また「ａ」は、本質的にｘｓ：ｓｔｒｉｎｇである。
【００６３】
【表１５】
2009527852.tif 000017
【００６４】
２．「ｎ」−これは、長さ制約を有する数値（ｎｕｍｅｒｉｃ）データ型である。このタイプの単純要素は、例えば、ローカル名「ｎ」を有する型に対する制約である単純型を有するべきである。また「ｎ」は、本質的にｘｓ：ｓｔｒｉｎｇである。
【００６５】
【表１６】
2009527852.tif 000018
【００６６】
３．「ＩＤ」−これは、任意選択の長さ制約を有する列挙（ｅｎｕｍｅｒａｔｉｏｎ）データ型である。このタイプの単純要素は、ローカル名「ＩＤ」を有する型に対する制約である単純型を有するべきである。また「ＩＤ」は、本質的にｘｓ：ｓｔｒｉｎｇである。列挙リストが空である場合、任意のデータ値が許容されることになる。コードページ９４９によるＥＤＩＦＡＣＴデータに対しては、スキーマ中のＥｎｕｍ（列挙）値は、そのユニコードと等価になる。
【００６７】
【表１７】
2009527852.tif 000019
【００６８】
４．「ＡＮ」−これは、長さ制約を有する英数字（ａｌｐｈａｎｕｍｅｒｉｃ）データ型である。このタイプの単純要素は、ローカル名「ＡＮ」を有する型に対する制約である単純型を有するべきである。また「ＡＮ」は、本質的にｘｓ：ｓｔｒｉｎｇである。
【００６９】
【表１８】
2009527852.tif 000020
【００７０】
前に論じたように、本発明の諸態様を実施するＸＭＬスキーマにより注釈が付される規則の１つは、参照指定子である。この参照指定子は、フィールドレベルに存在し、またエラーのデバッグ中に使用され得る「メタデータ辞書（ｍｅｔａｄａｔａ−ｄｉｃｔｉｏｎａｒｙ）」中の数を指す。エンジンは、ＡＫ５０２レベルで構文解析中に、この情報を報告する。例えば、それは、スキーマ中に存在する場合、その指定子値を報告することになる。以下の注釈は、フィールドレベルで使用される。ＡＫ５０２は任意選択のフィールドであり、注釈が存在しない場合、値が付けられない。以下の例示的なＸＭＬステートメントは、参照指定子の例を示す。
【００７１】
【表１９】
2009527852.tif 000021
【００７２】
同様に、規則の１つ、トリガフィールド情報は、本発明の実施形態により注釈が付けられる。この注釈は、ループ、またはセグメントレベルで存在することができて、トリガフィールドとして働くセグメントの内側のフィールドを識別する。トリガ遷移（ｔｒｉｇｇｅｒ  ｔｒａｎｓｉｔｉｏｎ）となるべき値も同様である。この情報は、ＨＩＰＡＡスキーマで使用されて、よりユーザの使いやすいＸｍｌを生成する。その注釈は、以下のように示される。この例では、ＴＳ２７０Ａ１＿２１００Ａ＿Ｌｏｏｐがトリガループである。トリガセグメントは、ＮＭ１＿ＩｎｆｏｒｍａｔｉｏｎＳｏｕｒｃｅＮａｍｅ＿ＴＳ２７０Ａ１＿２１００ＡとＸＭＬで書くことができ、またトリガフィールドは、ＮＭ１０１＿ＥｎｔｉｔｙＩｄｅｎｔｉｆｉｅｒＣｏｄｅである。トリガ値は、２Ｂ；３６；ＧＰ；Ｐ５；またはＰＲのうちの任意のものとすることができる。以下では、例示的なＸＭＬステートメントまたはコードを示す。
【００７３】
【表２０】
2009527852.tif 000022
【００７４】
図４は、本発明の諸態様が記憶され得る例示的なコンピュータ可読媒体５０２を示すブロック図である。例えば、コンピュータ可読媒体４０２は、図５に示すオペレーションを実施するための１つまたは複数のコンピュータ実行可能コンポーネントを含んでおり、その図５は、本発明の実施形態に従って、ランタイム時に、ＸＭＬ（拡張可能なマーク付け言語）を用いて、ＥＤＩ（電子データ交換）をモデル化するオペレーションを記述するフローチャートである。
【００７５】
例えば、要素コンポーネント４０４は、５０２で、ＥＤＩ文書中の複数の構造要素を識別する。５０４で、データコンポーネント４０６は、ＥＤＩ文書中の識別された複数の構造要素から複数の対応するデータ値を決定する。５０６で、注釈コンポーネント４０８は、ＥＤＩ文書中に含まれる複数の規則に対する注釈を生成する。複数の規則は、複数の対応するデータ値に関連するオペレーションを定義する。変換コンポーネント４１０は、５０８で、決定されたデータ値および生成された注釈を、ＥＤＩ文書に対応するＸＭＬスキーマへと変更または変換する。５１０で、ペイロードコンポーネント５１２は、ランタイム時にＸＭＬスキーマを処理する。
【００７６】
図６は、コンピュータ１３０の形式の汎用コンピューティングデバイスの一例を示す。本発明の一実施形態では、コンピュータ１３０などのコンピュータは、本明細書で示され、かつ述べられた他の図における使用に適している。コンピュータ１３０は、１つまたは複数のプロセッサまたは処理装置１３２、およびシステムメモリ１３４を有する。図示された実施形態では、システムバス１３６が、システムメモリ１３４を含む様々なシステムコンポーネントをプロセッサ１３２に結合する。バス１３６は、メモリバスもしくはメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート（ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）、および様々なバスアーキテクチャのうちの任意のものを使用するプロセッサもしくはローカルバスを含む、いくつかのタイプのバス構造のいずれか１つまたは複数のものを表す。例として、それだけに限らないが、このようなアーキテクチャは、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびＭｅｚｚａｎｉｎｅ（メザニン）バスとしても知られているＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ：周辺コンポーネント相互接続）バスを含む。
【００７７】
コンピュータ１３０は、通常、コンピュータ可読媒体の少なくともいくつかの形態を有する。揮発性および不揮発性媒体と、取外し可能および固定媒体を共に含むコンピュータ可読媒体は、コンピュータ１３０によりアクセス可能な任意の利用可能な媒体とすることができる。例のためであり、それだけに限らないが、コンピュータ可読媒体は、コンピュータ記憶媒体および通信媒体を含む。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性と、取外し可能および固定媒体を含む。例えば、コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋｓ）、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶デバイス、あるいは所望の情報を記憶するのに使用することができ、コンピュータ１３０によってアクセスできる任意の他の媒体を含む。通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの変調されたデータ信号中で実施するものであり、また任意の情報送達媒体を含む。当業者であれば、情報を信号中に符号化するような方法で設定または変更された１つまたは複数のその特性を有する変調されたデータ信号についてよく知っている。有線ネットワークまたは直接有線接続などの有線媒体、および音響、高周波、赤外線、他の無線媒体などの無線媒体は、通信媒体の例である。上記のいずれかの組合せもまた、コンピュータ可読媒体の範囲に含まれる。
【００７８】
システムメモリ１３４は、取外し可能および／または固定、揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。例示の実施形態では、システムメモリ１３４は、ＲＯＭ（読取り専用メモリ）１３８、およびＲＡＭ（ランダムアクセスメモリ）１４０を含む。起動中などに、コンピュータ１３０内の要素間で情報を転送するのを助ける基本ルーチンを含むＢＩＯＳ（基本入出力システム）１４２が、通常、ＲＯＭ１３８に記憶される。ＲＡＭ１４０は、通常、処理装置１３２により即座にアクセス可能な、かつ／または現在動作されているデータおよび／またはプログラムモジュールを含む。例のために、またそれだけに限らないが、図６は、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０を示す。
【００７９】
コンピュータ１３０はまた、他の取外し可能／固定、揮発性／不揮発性のコンピュータ記憶媒体を含むことができる。例えば、図６は、固定の、不揮発性磁気媒体から読み取り、または書き込むハードディスクドライブ１５４を示す。図６はまた、取外し可能な、不揮発性磁気ディスク１５８から読み取り、または書き込む磁気ディスクドライブ１５６、およびＣＤ−ＲＯＭまたは他の光学的媒体などの取外し可能な、不揮発性光ディスク１６２から読み取り、または書き込む光ディスクドライブ１６０を示す。例示的な動作環境で使用され得る他の取外し可能／固定、揮発性／不揮発性のコンピュータ記憶媒体は、それだけに限らないが、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭなどを含む。ハードディスクドライブ１５４、および磁気ディスクドライブ１５６、および光ディスクドライブ１６０は、通常インターフェース１６６など、不揮発性メモリインターフェースによりシステムバス１３６に接続される。
【００８０】
上記で論じたまた図６で示された、ドライブまたは他の大容量記憶デバイス、およびその関連するコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ１３０に対する他のデータの記憶を提供する。図６では、例えば、ハードディスクドライブ１５４が、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６を記憶するものとして示されている。これらのコンポーネントは、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０と同様であることも、あるいは異なることもあり得ることに留意されたい。オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６は、少なくとも、それらが異なる複製であることを示すために、ここでは、異なる数字が与えられている。
【００８１】
ユーザは、キーボード１８０およびポインティングデバイス１８２（例えば、マウス、トラックボール、ペン、またはタッチパッド）などの入力デバイスまたはユーザインターフェース選択デバイスを介して、コマンドおよび情報をコンピュータ１３０に入力することができる。他の入力デバイス（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含むことができる。これらのおよび他の入力デバイスは、システムバス１３６に結合されるユーザ入力インターフェース１８４を介して、処理装置１３２に接続されるが、パラレルポート、ゲームポート、またはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの他のインターフェースおよびバス構造によっても接続され得る。モニタ１８８または他のタイプのディスプレイデバイスがまた、ビデオインターフェース１９０などのインターフェースを介してシステムバス１３６に接続される。モニタ１８８に加えて、コンピュータは、しばしば、出力周辺インターフェース（図示せず）を介して接続され得るプリンタおよびスピーカなどの他の周辺出力デバイス（図示せず）を含む。
【００８２】
コンピュータ１３０は、遠隔コンピュータ１９４など、１つまたは複数の遠隔コンピュータへの論理接続を用いて、ネットワーク化された環境で動作することができる。遠隔コンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、同位（ｐｅｅｒ）デバイス、または他の共通のネットワークノードとすることができ、通常、コンピュータ１３０に関して上記で述べた多くの、またはすべての要素を含む。図６に示す論理接続は、ＬＡＮ（ローカルエリアネットワーク）１９６、およびＷＡＮ（広域ネットワーク）１９８を含むが、他のネットワークもまた含むことができる。ＬＡＮ１３６および／またはＷＡＮ１３８は、有線ネットワーク、無線ネットワーク、それらの組合せなどとすることができる。このようなネットワーク化環境は、オフィスや、企業規模のコンピュータネットワーク、イントラネット、および大域コンピュータネットワーク（例えば、インターネット）において普通のものである。
【００８３】
ローカルエリアネットワーク化環境で使用される場合、コンピュータ１３０は、ネットワークインターフェースまたはアダプタ１８６を介して、ＬＡＮ１９６に接続される。広域ネットワーク化環境で使用される場合、コンピュータ１３０は、通常、インターネットなどのＷＡＮ１９８を介して通信を確立するためのモデム１７８または他の手段を含む。内部または外部のものとすることのできるモデム１７８は、ユーザ入力インターフェース１８４または他の適切な機構を介して、システムバス１３６に接続される。ネットワーク化環境では、コンピュータ１３０に対して、またはその部分に対して示されたプログラムモジュールが、遠隔のメモリ記憶デバイス（図示せず）に記憶され得る。例のためであり、それだけに限らないが、図６は、遠隔アプリケーションプログラム１９２をメモリデバイス上に常駐するものとして示している。図示されたネットワーク接続は、例示的なものであり、コンピュータ間で通信リンクを確立する他の手段を使用することもできる。
【００８４】
概して、コンピュータ１３０のデータプロセッサは、コンピュータの様々なコンピュータ可読記憶媒体中に、様々な時間に記憶された命令によりプログラムされる。プログラムおよびオペレーティングシステムは、通常、例えば、フロッピー（登録商標）ディスクまたはＣＤ−ＲＯＭ上で配布される。そこから、それらはコンピュータの第２のメモリにインストールまたはロードされる。実行時には、それらはコンピュータの主電子メモリ中に、少なくとも部分的にロードされる。本明細書で述べる本発明の諸態様は、このような媒体が、マイクロプロセッサまたは他のデータプロセッサと共に以下で述べる諸ステップを実施するための命令またはプログラムを含む場合、これらのまた他の様々なタイプのコンピュータ可読記憶媒体を含む。さらに、本発明の諸態様は、本明細書で述べられる方法および技法に従ってプログラムされる場合、コンピュータそれ自体も含む。
【００８５】
例示のために、オペレーティングシステムなどのプログラムおよび他の実行可能なプログラムコンポーネントが、個別のブロックとしてここで示されている。しかし、このようなプログラムおよびコンポーネントは、コンピュータの異なる記憶コンポーネント中に様々な時間に常駐し、コンピュータのデータプロセッサにより実行されることを理解されたい。
【００８６】
コンピュータ１３０を含む例示的なコンピューティングシステム環境に関して述べられているが、本発明の諸実施形態は、数多くの他の汎用、または専用のコンピューティングシステム環境またはコンフィギュレーションと共に動作可能である。そのコンピューティングシステム環境は、本発明の任意の態様の使用、または機能の範囲に関して、何らかの限定を示唆するように意図されていない。さらに、コンピューティングシステム環境は、例示的な動作環境で示されたコンポーネントの任意の１つ、または組合せに関する何らかの依存性または要件を有するものとして解釈されるべきではない。本発明の諸態様で使用するのに適切であり得るよく知られたコンピューティングシステム、環境および／またはコンフィギュレーションの諸例は、それだけに限らないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドもしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電子機器、移動電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムもしくはデバイスのいずれかを含む分散コンピューティング環境などを含む。
【００８７】
本発明の諸実施形態は、１つまたは複数のコンピュータ、または他のデバイスにより実行される、プログラムモジュールなどの、コンピュータ実行可能命令の一般的なコンテキストで記述され得る。概して、プログラムモジュールは、それだけに限らないが、特定のタスクを行う、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造を含む。本発明の諸態様はまた、通信ネットワークを介してリンクされた遠隔処理デバイスにより、タスクが実施される分散コンピューティング環境中で実行され得る。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルと遠隔両方のコンピュータ記憶媒体中に位置することができる。
【００８８】
ソフトウェアアーキテクチャに即したインターフェースは、ソフトウェアモジュール、コンポーネント、コード部分、またはコンピュータ実行可能命令の他のシーケンスを含む。インターフェースは、例えば、第１のモジュールのために計算タスクを実施するように第２のモジュールにアクセスする第１のモジュールを含む。第１および第２のモジュールは、一例として、オペレーティングシステムにより提供されるなどのＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅｓ）、ＣＯＭ（ｃｏｍｐｏｎｅｎｔ  ｏｂｊｅｃｔ  ｍｏｄｅｌ）インターフェース（例えば、ピアツーピアのアプリケーション通信用）、およびＸＭＩ（ＸＭＬメタデータ交換形式）インターフェース（例えば、ウェブサービス間の通信用）を含む。
【００８９】
インターフェースは、Ｊ２ＥＥ（Ｊａｖａ（登録商標）２  Ｐｌａｔｆｏｒｍ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ）、ＣＯＭ、またはＤＣＯＭ（ｄｉｓｔｒｉｂｕｔｅｄ  ＣＯＭ）の例など、密結合された、同期的な実装形態とすることができる。代替的に、またはさらに、インターフェースは、ウェブサービスにおけるなど（例えば、シンプルオブジェクトアクセスプロトコルを用いて）、疎結合された、非同期的な実装形態とすることができる。概して、インターフェースは、以下の特性、すなわち、密結合、疎結合、同期的、かつ非同期的のうちの任意の組合せを含む。さらに、インターフェースは、標準のプロトコル、メーカ独自のプロトコル、または標準とメーカ独自のプロトコルの任意の組合せに準拠することができる。
【００９０】
本明細書に述べられたインターフェースはすべて、単一のインターフェースの一部とすることができ、または別々のインターフェースとして、あるいはそれらの任意の組合せとして実装することができる。インターフェースは、ローカルに、または遠隔に実行されて、機能を提供することができる。さらに、インターフェースは、本明細書に例示された、または述べられたものにさらに追加した、またはより少ない機能を含むことができる。
【００９１】
オペレーションにおいては、コンピュータ１３０は、本発明の諸態様を実施するために、図５などの図で示されたものなど、コンピュータ実行可能命令を実行する。
【００９２】
本明細書に例示され、述べられた本発明の諸実施形態におけるオペレーションの実行または実施の順序は、他に指定されない限り、本質的なものではない。すなわち、他に指定されない限り、オペレーションは、任意の順番で実施することができ、また本発明の諸実施形態は、本明細書で開示されたものにさらに追加した、またはより少ないオペレーションを含むことができる。例えば、他のオペレーションの前に、同時に、または後に特定のオペレーションを実行または実施することを、本発明の諸態様の範囲に含むことが企図される。
【００９３】
本発明の諸態様は、コンピュータ実行可能命令を用いて実施することができる。コンピュータ実行可能命令は、１つまたは複数のコンピュータ実行可能コンポーネントまたはモジュールへと編成され得る。本発明の諸態様は、このようなコンポーネントまたはモジュールの任意の数および編成を用いて実施することができる。例えば、本発明の諸態様は、図面で示された、または本明細書中で述べられた特定のコンピュータ実行可能命令または特定のコンポーネントもしくはモジュールに限定されない。本発明の他の実施形態は、本明細書で例示され、かつ述べられたものよりも、多くの機能または少ない機能を有する異なるコンピュータ実行可能命令またはコンポーネントを含むことができる。
【００９４】
本発明の諸態様の要素、またはその諸実施形態を導入する場合、冠詞「１つの（ａ／ａｎ）」、「その（ｔｈｅ）」、および「前記（ｓａｉｄ）」は、要素が１つまたは複数あることを意味することが意図される。用語「備える／含む（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、および「有する（ｈａｖｉｎｇ）」は、包括的であることが意図されており、また一覧表示された要素以外のさらなる要素があり得ることを意味する。
【００９５】
本発明の諸態様の範囲から逸脱することなく、上記の構成、製品、および方法に、様々な変更を加えることが可能であるので、上記の説明に含まれた、また添付の図面に示されたすべてのものは、例示的なものとして解釈され、限定的な意味で解釈されるべきではないことが意図される。
【図面の簡単な説明】
【００９６】
【図１】本発明の実施形態に従ってＥＤＩ（電子データ交換）トランザクションを行うためのシステムを示すブロック図である。
【図２】本発明の実施形態によるＸＭＬを用いた構造化ＥＤＩスキーマを示すブロック図である。
【図３】本発明の諸態様を実施するＸＭＬスキーマを示す図である。
【図４】本発明の諸態様が記憶され得る例示的なコンピュータ可読媒体を示すブロック図である。
【図５】ランタイム時に、ＸＭＬ（拡張可能なマーク付け言語）を用いてＥＤＩ文書をモデル化するオペレーションを示す例示的なフローチャートである。
【図６】本発明を実施することのできる適切なコンピューティングシステム環境の一例を示すブロック図である。
【図１】
2009527852.tif 000023
【図２】
2009527852.tif 000024
【図３】
2009527852.tif 000025
【図４】
2009527852.tif 000026
【図５】
2009527852.tif 000027
【図６】
2009527852.tif 000028
【国際調査報告】
2009527852.tif 000029
2009527852.tif 000030