ノード階層レベルの照合
BizTalk マッパーでは、リンク プロパティを構成することによって、コンパイラによる送信元スキーマと送信先スキーマ間のノード階層の照合方法を制御できます。 送信元スキーマのフィールドと送信先スキーマのフィールド間にリンクを作成すると、BizTalk マッパーにより自動的にコンパイラ リンクが追加されます。 コンパイラ リンクは、選択した照合方法に基づいて追加されます。
表示されているグリッド ページでリンクを選択すると、Visual Studio プロパティ ウィンドウに表示されるプロパティの 1 つが [ターゲット リンク] プロパティになります。 マップの各リンクに対して選択できる値は次のとおりです。
[リンクをフラット化] : 送信元のすべての階層をフラット化して、送信先スキーマ ノードの親レコードと照合する場合に使用します。
[リンクを上から順に一致] : スキーマの最上位から最下位へと順にノード レベルを照合する場合に使用します。
[リンクを下から順に一致] : スキーマの最下位から最上位へと順にノード レベルを照合する場合に使用します。
リンクをフラット化
このモードでは、送信元の階層がフラット化されて、送信先ノードの親レコードと照合されます。 第 1 のケースでは、送信元スキーマが送信先スキーマよりも複雑な仕様になっています。 第 2 のケースでは、送信先スキーマが送信元スキーマよりも複雑な仕様になっています。
リンクをフラット化
フラット化されたリンク (第 2 のケース)
リンクの一致 Top-Down
このモードでは、上のレベルから下のレベルへと順に照合されます。 第 1 のケースでは、送信元スキーマが送信先スキーマよりも複雑な仕様になっています。 第 2 のケースでは、送信先スキーマが送信元スキーマよりも複雑な仕様になっています。
上から順に対応付け
上から順に対応付け (第 2 のケース)
リンクを下から順に一致
このモードでは、下のレベルから上のレベルへと順に照合されます。 第 1 のケースでは、送信元スキーマが送信先スキーマよりも複雑な仕様になっています。 第 2 のケースでは、送信先スキーマが送信元スキーマよりも複雑な仕様になっています。
下から順に対応付け
下から順に対応付け (第 2 のケース)
BizTalk マッパーによる各種リンクの処理
[ターゲット リンク] プロパティはリンクごとに異なる値に設定できるため、BizTalk マッパーでは、競合する可能性があるさまざまな設定を解決する方法が必要です。
たとえば、対象スキーマの Field ノードから Field ノードへのリンクに対してフラット化コンパイラ ディレクティブ、トップダウン コンパイラ ディレクティブ、ボトムアップ コンパイラ ディレクティブを使用し、これらのノードが同じ親 Record ノードを共有する場合、BizTalk Mapper は競合するトップダウン コンパイラ ディレクティブとボトムアップ コンパイラ ディレクティブを無視し、すべてのリンクをフラット化コンパイラ ディレクティブに設定されているかのように扱います。
次の表は、BizTalk マッパーが、同じ Record ノード内のリンクの [ターゲット リンク] プロパティの設定に基づいて、変換先スキーマの同じ Record ノード内の Field ノードへのリンクを処理する方法を示しています。
フラット化 | トップダウン | ボトムアップ | 結果 |
---|---|---|---|
0 以上 | 1 つ以上 | 1 つ以上 | [リンクをフラット化] のコンパイラ ディレクティブが設定されているものとして、すべてのリンクが処理されます。 |
1 つ以上 | 1 つ以上 | 0 | [リンクを上から順に一致] のコンパイラ ディレクティブが設定されているものとして、すべてのリンクが処理されます。 |
1 つ以上 | 0 | 1 つ以上 | [リンクを下から順に一致] のコンパイラ ディレクティブが設定されているものとして、すべてのリンクが処理されます。 |
[リンクを上から順に一致] および [リンクを下から順に一致] のコンパイラ ディレクティブは [リンクをフラット化] よりも優先されますが、両方が存在する場合は、どちらの動作も無効になります。