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

Altova MapForce 2020 Enterprise Edition

ユーザー定義関数には2つの種類が存在します: インラインと正規関数。関数を作成する際に、関数がインライン、または正規関するであるかを指定することができます。 ユーザー定義関数の作成を参照してください。インラインと正規関数は、コード生成、再帰性、複数のパラメータを持つことができる能力などで異なる振る舞いをします。

 

インライン関数

正規関数

インライン関数は、生成されたコード内で発生する箇所ですべてのインスタンス内から抽出することができ、コードは長くなりますが、若干速くなります。

 

インライン関数は、大幅に生成されたプログラムコードを増加することができます。 ユーザー定義関数コードは、関数が呼び出されるすべての場所で実際に挿入されます。このため、正規表現とは異なり、コードのサイズが増加します。

各ユーザー定義関数コンポーネントは、入力がパラメーターにパスされる個所で、関数の呼び出しのためにコードを生成し、出力は値を返す関数 (コンポーネント)

 

ランタイムでは、すべての入力パラメーターが最初に評価され、関数が入力データの各発生のために呼び出されます。

インライン関数は、複数の出力を持つことができ、このため、複数の値を返します。

正規関数は1つの出力のみを持つことができます。複数の値を返すには、複数の値を発信者にパスすることを許可する 出力を複合型 (例えば、 XML 構成)に宣言することができます。

インライン関数を再帰的に呼び出すことはできません。

正規関数を再帰的に呼び出すことは可能です。

インライン関数はパラメーター上で優先コンテキストを設定することをサポートしません。   優先コンテキスト node/itemを参照してください。

正規関数は、パラメーター上で優先コンテキストの設定をサポートします。

 

マッピング上で、 インライン ユーザー定義関数は、点線の囲いにより表示されています。 例えば、下のマッピング内の中間コンポーネントは インライン ユーザー定義関数です。

mf_udf_06

正規関数は、実線の囲いにより表示されています。 例えば、 下のマッピングの中間コンポーネントは正規のユーザー定義関数です。

mf_udf_05

(C) 2019 Altova GmbH