リンクの作成
BizTalk マッパーを使用すると、リンク作成に関連する一部の要素を自動化できます。 簡易リンク作成は、単純なデータ型に似ています。 プログラミング言語の構造の割り当てに似ている高度な形式のリンク作成もあります。 たとえば、入力インスタンス メッセージから対応する出力インスタンス メッセージに複数の項目のデータを移動する方法を指定するリンク作成などがあります。
次の方法で、リンクを作成します。
簡易リンクの作成: 簡易リンクを作成するには、ドラッグ操作でリンクを作成します。 送信元スキーマのフィールドを送信先スキーマのフィールドにドラッグすると、出力インスタンス メッセージの要素または属性が作成され、要素または属性の値がメッセージに挿入されます。 このようなリンクは、ソース スキーマと変換先スキーマの Record ノードと Field ノードの間で直接行うことができます。または、ソース スキーマと変換先スキーマの Record ノードと Field ノードの間のリンク パスに 1 つ以上の Functoid を含めることができます。
構造リンク: 構造リンクの作成では、同じ相対構造を持つソース スキーマと宛先スキーマの Record ノードと Field ノードの間に複数の単純なリンクを同時に作成します。 構造リンクを使用するには、2 つのスキーマの関連する部分の構造が同じであることが必要です。 構造リンクの構成の詳細については、「 レコードを自動的にリンクする方法」を参照してください。
名前の一致リンク: このメソッドを使用する場合は、レコードノードとフィールド ノードの名前に基づいて、ソース スキーマと変換先スキーマの Record ノードと Field ノードの間に複数の単純なリンクを同時に作成します。 名前の一致リンクを使用するには、送信元スキーマおよび送信先スキーマの構造が非常に似ている (ただし、完全に同じではない) 必要があります。 名前一致リンクの構成の詳細については、「 レコードを自動的にリンクする方法」を参照してください。
Note
既存のリンクを変更または変更する方法については、「 既存のリンクを管理 する方法」も参照してください。
リンクでの空白の保持
ソース要素からターゲット要素または Functoid にマッピングする際に、要素内の空白を保持する場合は、カスタム スクリプトを記述する必要があります。
マッパーとランタイム システムのいずれにおいても空白は保持されません。 マッパーとランタイム システムの両方が、サイズの大きいメッセージの変換に BTSXslTransform.Transform を使用し、ナビゲーション操作に XmlReader と XPath データ モデルを使用します。
空白を保持するには、必要な数の空白を返すカスタム スクリプトを記述できます。 たとえば、次のコードでは常に 5 文字の空白を含む文字列が返されます。
public string Whitespace(string param1)
{
return " ";
}
ソース要素をこのスクリプトの入力とし、ターゲット要素を出力としてリンクすると、マップの実行後、出力要素には 5 文字の空白が含められます。
Note
Visual Studio を使用して出力を表示すると、要素は空で表示されます。 この理由は、XML ビューアーでは空白を含む要素は空として扱われるためです。 空白文字を表示するには、XML ビューを右クリックし、[ ソースの表示] を選択します。