複数の入力または出力ファイルを動的に処理

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

ホーム >  マッピングのデザイン >

複数の入力または出力ファイルを動的に処理

マッピングが実行される際、 MapForce に複数のファイルを処理するように構成することができます (例: ディレクトリ内の全てのファイル)。この機能を使用して、以下のようなタスクを解決することができます:

 

マッピングに処理する入力ファイルのリストを与えます。
単一の出力ファイルの代わりにファイルのリストのマッピング出力を生成します。
入力と出力ファイル名がランタイムで定義されている箇所のマッピングアプリケーションを生成します。
ファイルのセットを他のフォーマットに変換します。
大きなファイル を小さなパーツに分割します。
複数のファイルを1つの大きなファイルにマージする

 

MapForce コンポーネントに複数のファイルを処理するように以下の方法で構成することができます:

 

コンポーネント 設定で必要とされる入力または出力ファイルに固定されたファイル名の代わりにワイルドカード文字を使用して、パスを与えます。( コンポーネント設定を変更するを参照)。  すなわち、ワールドカード * と ? をコンポーネント設定ダイアログボックスに入力し、MapForce  は、マッピング実行される際に対応するパスを解決します。
パスを動的に提供する、コンポーネント シーケンスルートノードに接続します。 (例: replace-fileext 関数の結果)。マッピングが実行されると、 MapForce は、全ての入力ファイルを動的に読み込み、また全ての出力ファイルを動的に生成します。

 

目的により異なりますが、 同じマッピングで1つまたは両方のアプローチを取ることができます。しかしながら、同じコンポーネント上で同時に両方のアプローチを使用することは、あまり意味をなしません。特定のコンポーネントのために、 MapForce がどのアプローチを使用するかを命令するには、コンポーネントのルートノードの横の 「ファイル」 ( btn_file ) または 「ファイル/文字列」 ( btn_file_string ) ボタンをクリックします。このボタンにより以下の振る舞いを指定することができます:

 

コンポーネント設定からファイル名を使用する

コンポーネントが1つまたは複数のインスタンスファイルを処理する場合、このオプションは MapForce にコンポーネント設定ダイアログボックスで定義されたファイルを処理するように命令します。

 

このオプションを選択すると、 ルートノードには入力コネクタが与えられません。

file_default_bas

 

コンポーネント設定ダイアログボックス内でまだ入力または出力ファイルを指定していない場合、ルートノードの名前は ファイル: (デフォルト)です。 それ以外の場合、 ルートノードは、出力ファイル名、セミコロン( ;)が後についた入力ファイル名を表示します。

 

入力ファイル名が出力ファイルと同じ場合、ルートノードの名前として表示されます。

file_name_basic

 

このオプションまたは 「マッピングから与えられた動的なファイル名を使用する」 オプションを選択することができます。

マッピングから与えられた動的なファイル名を使用する

このオプション は、コンポーネントのルートノードの値に接続することにより、マッピングエリアで定義するファイル名を処理するように MapForce に命令します。

 

このオプションを選択すると、 ルートノードがマッピングの実行中動的に処理されるファイル名を与える入力コネクタの値に接続します。コンポーネント設定ダイアログボックス内に定義されたファイル名を持つ場合、これらの値は無視されます。

 

このオプションが選択された場合、 ルートノードの名前は以下として表示されます ファイル: <動的>。

file_name_dynamic_bas

 

コンポーネント設定からファイル名を使用する オプションと共にこのオプションは相互排他的です。

 

複数の入力または出力ファイルを以下のコンポーネントのために定義することができます:

 

XML ファイル
テキストファイル (CSV*, FLF* ファイル と FlexText** ファイル)
EDI ドキュメント**
Excel スプレッドシート**
XBRL ドキュメント**

 

* MapForce Professional Edition 必須

**  MapForce Enterprise Edition 必須

 

以下のテーブルは、  MapForce 言語内での動的な入力と出力ファイルおよびワイルドカードへのサポートについて説明されています。

 

ターゲット言語

動的入力ファイル名

 
入力ファイル名のためにサポートされているワイルドカード

動的な出力ファイル名

XSLT 1.0

*

XSLT 1.0 によりサポートされていません

XSLT 1.0 によりサポートされていません

XSLT 2.0

*

*(1)

*

C++

*

*

*

C#

*

*

*

Java

*

*

*

BUILT-IN

*

*

*

 

レジェンド:

 

*

サポートされている

(1)

fn:collection 関数を使用します。XSLT 2.0 と XQuery エンジンの実装は、ワイルドカードを解決します。他のエンジンは異なる場合があります。RaptorXML Server エンジンを使用しての XSLT 1.0/2.0  コード 変換方法に関しては、 XSLT 1.0 または 2.0 コードの生成 を参照してください。


(C) 2019 Altova GmbH