変数を使用して並べ替える

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  マッピングのデザイン > データの並べ替え >

変数を使用して並べ替える

希望する結果を達成するためにマッピングに中間変数を追加する必要がある場合があります。このサンプルでは、 XML ファイルから記録を抽出し、中間変数を使用して並べ替える方法について説明されています。このサンプルには、次のパスで検索することのできるマッピングのサンプルが存在します: <マイ ドキュメント>\Altova\MapForce2019\MapForceExamples\Altova_Hierarchical_Sort.mfd

sort-altHier1

Altova_Hierarchical_Sort.mfd

このマッピングは、 Altova_Hierarchical.xml という名前のソース XML ファイルからデータを読み取り、 ターゲット XML ファイルに書き込みます。上に示されるとおり、ソース XML には架空の企業の情報が含まれています。企業はオフィスに分岐されています。オフィスは部署に分岐されており、部署は社員に分岐されています。

 

ターゲット XML コンポーネント、 PersonList、Person レコードのリストが含まれています。Details アイテムは、社員が属するオフィスと部署の情報が保管されています。

 

ソース XML から全ての社員を抽出し、姓をアルファベット順に並べ替えることが目的です。また、オフィスと部署名は、 Details アイテムに書き込まれる必要があります。

 

この目的を達成するために、このサンプルは、次のコンポーネントの型を使用します:

 

1.concat 関数:このマッピング内では、 この関数は、フォーマットOffice(Department) で文字列を返します。オフィス名、部署名、かっこ開始し終了する2つの定数を入力として取ります。 次も参照してください: 関数と作業
2.中間変数: 変数の役割は同じマッピングコンテキストに個人に関連する全てのデータを運ぶことです。変数によりマッピングかそれぞれの個人のコンテキストで、個人の部署とオフィスを探します。すなわち、 変数は、個人が所属するオフィス名と部署名を「記憶」 することを意味します。変数が不在の場合、コンテキストは、(同じ XML スキーマを使用して)正確ではなくマッピングは希望しない結果を生成します。(マッピングの実行方法の詳細に関しては、次を参照してください: マッピングルールと戦略)。変数は XML ファイルの構造を複製することに注意してください。 これにより、全てコピー接続を使用して、ターゲットに並べ替えの結果を接続することができます。次も参照してください: 変数の使用全てコピー接続.
3.実際の並べ替えを行う、並べ替えコンポーネント:Sort コンポーネントのキー入力は、姓により個人の記録を並べ替える変数の Last アイテム に接続されていることに注意してください。

(C) 2019 Altova GmbH