次の方法で共有


ノード階層レベルの照合

BizTalk マッパーでは、リンク プロパティを構成することによって、コンパイラによる送信元スキーマと送信先スキーマ間のノード階層の照合方法を制御できます。 送信元スキーマのフィールドと送信先スキーマのフィールド間にリンクを作成すると、BizTalk マッパーにより自動的にコンパイラ リンクが追加されます。 コンパイラ リンクは、選択した照合方法に基づいて追加されます。

表示されているグリッド ページでリンクを選択すると、Visual Studio プロパティ ウィンドウに表示されるプロパティの 1 つが [ターゲット リンク] プロパティになります。 マップの各リンクに対して選択できる値は次のとおりです。

  • [リンクをフラット化] : 送信元のすべての階層をフラット化して、送信先スキーマ ノードの親レコードと照合する場合に使用します。

  • [リンクを上から順に一致] : スキーマの最上位から最下位へと順にノード レベルを照合する場合に使用します。

  • [リンクを下から順に一致] : スキーマの最下位から最上位へと順にノード レベルを照合する場合に使用します。

このモードでは、送信元の階層がフラット化されて、送信先ノードの親レコードと照合されます。 第 1 のケースでは、送信元スキーマが送信先スキーマよりも複雑な仕様になっています。 第 2 のケースでは、送信先スキーマが送信元スキーマよりも複雑な仕様になっています。

ソース スキーマが宛先スキーマよりも複雑であることを示す画像。
リンクをフラット化

宛先スキーマの複雑さを示す画像。
フラット化されたリンク (第 2 のケース)

このモードでは、上のレベルから下のレベルへと順に照合されます。 第 1 のケースでは、送信元スキーマが送信先スキーマよりも複雑な仕様になっています。 第 2 のケースでは、送信先スキーマが送信元スキーマよりも複雑な仕様になっています。

トップダウン マッチングの例を示す画像。
上から順に対応付け

トップダウン マッチングの 2 番目の例を示す画像。
上から順に対応付け (第 2 のケース)

このモードでは、下のレベルから上のレベルへと順に照合されます。 第 1 のケースでは、送信元スキーマが送信先スキーマよりも複雑な仕様になっています。 第 2 のケースでは、送信先スキーマが送信元スキーマよりも複雑な仕様になっています。

ボトムアップ マッチングの例を示す画像。
下から順に対応付け

ボトムアップ マッチングの 2 番目の例を示す画像。
下から順に対応付け (第 2 のケース)

[ターゲット リンク] プロパティはリンクごとに異なる値に設定できるため、BizTalk マッパーでは、競合する可能性があるさまざまな設定を解決する方法が必要です。

たとえば、対象スキーマの Field ノードから Field ノードへのリンクに対してフラット化コンパイラ ディレクティブ、トップダウン コンパイラ ディレクティブ、ボトムアップ コンパイラ ディレクティブを使用し、これらのノードが同じ親 Record ノードを共有する場合、BizTalk Mapper は競合するトップダウン コンパイラ ディレクティブとボトムアップ コンパイラ ディレクティブを無視し、すべてのリンクをフラット化コンパイラ ディレクティブに設定されているかのように扱います。

次の表は、BizTalk マッパーが、同じ Record ノード内のリンクの [ターゲット リンク] プロパティの設定に基づいて、変換先スキーマの同じ Record ノード内の Field ノードへのリンクを処理する方法を示しています。

フラット化 トップダウン ボトムアップ 結果
0 以上 1 つ以上 1 つ以上 [リンクをフラット化] のコンパイラ ディレクティブが設定されているものとして、すべてのリンクが処理されます。
1 つ以上 1 つ以上 0 [リンクを上から順に一致] のコンパイラ ディレクティブが設定されているものとして、すべてのリンクが処理されます。
1 つ以上 0 1 つ以上 [リンクを下から順に一致] のコンパイラ ディレクティブが設定されているものとして、すべてのリンクが処理されます。

[リンクを上から順に一致] および [リンクを下から順に一致] のコンパイラ ディレクティブは [リンクをフラット化] よりも優先されますが、両方が存在する場合は、どちらの動作も無効になります。

参照

一括コピー Functoid
送信元リンクのコンパイラ値を設定する方法
マップのコンパイル