このサイトをビューするために JavaScript を有効化してください。

Altova MapForce 2021 Basic Edition

一般的には、 MapForce はデータを直観的にマップしますが、出力に多すぎる、または少なすぎるアイテムが含まれているシチュエーションが存在します。このチャプターは性格ではない接続やマッピングコンテキストが理由でマッピングが希望しない出力を生成するシチュエーションを回避するための手助けを意図としています。

 

マッピングのルール

有効であるためには、マッピングには少なくとも1つのソースコンポーネントと少なくとも1つのターゲットコンポーネントが含まれている必要があります。ソースコンポーネントはデータを通常はファイルまたはデータベースから読み取ります。ターゲットコンポーネントは通常ファイルまたはデータベースでデータを書き込みます。上記が正しくない個所でマッピングを保存しようとすると、メッセージウィンドウにエラーが表示されます: 「マッピングは少なくとも2つの接続された構造を必要とします。例えば、スキーマまたはデータベース構造を必要とします。」

 

データマッピングを作成するには、マッピング接続をソースとターゲットコンポーネント間に描きます。

 

描かれたマッピング接続全てはマッピングアルゴリズムを作成しています。マッピングラインタイムでは、MapForce はアルゴリズムを評価し、それに基づきデータを処理します。マッピングアルゴリズムの統一性と効率性は接続により異なります。 マッピング レベル、 コンポーネント レベル、または 接続 レベルで設定の一部を調整することもできすが、基本的にはマッピング接続がデータの処理方法を決定します。

 

接続を作成する際に以下のルールが存在することに注意してください。:

 

1.ソースアイテムから接続を描く場合、マッピングはソースファイルまたはデータベースからのアイテムと関連したデータを読み取ります。データは0、1、または複数の発生が存在する場合があります (すなわち、シーケンスである場合もあります。 例えば、マッピングが書籍を含む XML ファイルからデータを読み込む場合、ソース XML ファイルは0、1、または複数の book 要素を含む可能性があります。 下のマッピングでは、ソース (インスタンス)ファイルには複数の book 要素、または要素が含まれない場合がありますが、 book アイテムはマッピングコンポーネント上で一度のみ表示されます。

mfdBooksToLibrary-BAS

2.ターゲットアイテムに接続を描く場合、マッピングはその種類のインスタンスデータを生成します。ソースアイテムが単純なコンテンツを含む場合 (例えば、文字列または整数) およびターゲットアイテムが単純なコンテンツを受け入れる場合、 MapForce はコンテンツをターゲットアイテムにコピーし、必要な場合は、データ型を変換します。 受信するソースデータに従いゼロ、1、複数の値を生成することができます。次の点を参照してください。

3.ソース内の各 (インスタンス) アイテムのために1つの (インスタンス) アイテムがターゲット内で作成されます。 MapForce 内の一般的なマッピングルールです。上のマッピングを例として、ソース XML が3つの book 要素を含む場合、3つの publication 要素がターゲット側で作成されます。特別なケース シーケンスがいくつか存在することにも注意してください。を参照してください。

4.各接続は現在のマッピングコンテキスト を作成します。コンテキストはどのデータが現在のターゲットノードのためにどのデータが使用できるかを決定します。コンテキストは、ですから、子のソースアイテムが実際にソースからターゲットコンポーネントにコピーされるかを決定します。接続を作成、または削除する場合、現在のコンテキストが不注意に変更される可能性があり、マッピングの出力に影響を与える場合があります。例えば、 同じマッピングが不必要にデータベース、または、 Web サービスを呼び出す場合があります。このコンセプトは下のマッピングコンテキストで詳細に説明されています。

(C) 2020 Altova GmbH