入力 | フォーマット | XML,CSV,FixedLength,ParameterList,Record |
---|---|---|
接続数 | 1 | |
出力 | フォーマット | XML,CSV,FixedLength,ParameterList,Record |
説明 | 入力ストリームをそのまま出力します。 |
名前 | プロパティ型 | マッピング | 説明 | ||||||
---|---|---|---|---|---|---|---|---|---|
Validationビルダーで設定済み | boolean | - |
Validationビルダーを使用してデータ検証の条件を指定したかどうかを示します。
|
||||||
エンティティのベースフォルダー | choice | - |
入力ストリーム型がXMLの場合、入力時のエンティティ展開時に使用するベースフォルダーを指定します。
|
||||||
エラー詳細 | string | 出力 | データ検証が失敗した場合は、このプロパティに失敗時のエラーの理由が文字列で返ります。このプロパティは出力専用です。 | ||||||
入力が空のときの動作 | choice | - |
入力ストリームが空の場合の動作を選択します。
|
コミット | 何もしません。 |
---|---|
ロールバック | 何もしません。 |
タイプ | パラメーター | エラー処理フロー へのストリーム | エラー コード | 説明 |
---|---|---|---|---|
汎用 | なし | コンポーネントの入力ストリーム | なし | データ検証の条件式が正しくない場合 |
なし | エンティティのベースフォルダー が「実行ユーザーのホームフォルダー」の場合に実行ユーザーが存在しないため相対パスが解決できなかった場合 |
Validationコンポーネントでデータを評価するための検証条件は、専用のValidationビルダーで作成します。Validationビルダーを起動するには、Validationコンポーネントを右クリックして表示されるメニューの「Validationビルダー」をクリックするする、またはValidationコンポーネントのアイコンをダブルクリックします。
Validationビルダーでは、「新規条件アイテムの追加」ボタンをクリックすることにより、評価条件リストの行(評価条件アイテム)がひとつ追加されます。評価条件アイテムとは、入力ストリーム中の評価位置とその評価式の組み合わせをあらわすレコードです。
Validationビルダーでは、Validationコンポーネントへの入力ストリームを、「ParameterList」、「Record」、「XML」のいずれかの形式で評価する条件式を作成します。ストリームタイプによって評価位置の指定の記述方法などが異なります。
コンポーネントの入力ストリームフォーマットがXML の時、評価位置はXPathで指定します。「XPath」項目にXPath式を直接記述してください。評価位置が属性の場合、「属性」項目に属性名を直接記述することも可能です。
画面下部の「ドキュメントバリデーション」では、外部エンティティとしてDTD やXML Schemaを指定することで、これらのスキーマを使用したバリデーションを行うことも可能です。「DTD によるバリデーションを行う」、「XSD によるバリデーションを行う」を選択した場合は、DTD およびXML Schema 定義のエンティティを「バリデーションエンティティ」欄に入力します。
※ 否定式でのバリデーションがチェックされると、ドキュメントバリデーションに失敗した場合が真正の結果として処理されます。
コンポーネントの入力ストリームフォーマットがParameterListの時、評価位置は変数名で指定します。「変数名」項目には、変数名を直接記述してください。「属性」項目は使用しません。
※フロー変数を評価条件アイテムに使用する場合は、フロー変数であることを宣言するために「flow.」をプリフィックスとしてフロー変数の前に記述し(例:「flow.flowvar1」)、変数名の欄に書きます。
コンポーネントの入力ストリームフォーマットがRecord、CSV、FixedLength の時、評価位置はフィールド名で指定します。フィールド名項目には[record]というプレフィックス付きのフィールド名かフィールドインデックスを直接記述してください。「属性」項目は使用しません。
フィールド名(例:”field1”、”field2”)による指定の例
record.field1 record.field2
フィールドインデックスによる指定の例 (インデックスは0ベースです)
record[0] record[1]
フロー変数、システム変数や外部変数セットを評価条件アイテムに使用する場合、各種変数のプレフィクスを変数名の前につけることで参照できます。
変数の種類 | プレフィクス |
---|---|
フロー変数 | flow. |
システム変数 | system. |
外部変数セット | exvar.[外部変数名]. |
使用例
フロー変数の場合
flow.var1 > 5外部変数セットの場合
exvar.exvar1.var1 = "MATCH"
※評価条件は固定値の比較のみであり、「record.field1 = flow.var1」のようなフィールド値と変数の比較はできません。
条件アイテムとは、入力ストリームを評価するためのひとつの評価条件を表したものです。Validationコンポーネントでは、この条件アイテムを複数組み合わせて入力ストリームを評価します。条件アイテムは次の項目で構成されています。
条件アイテムをユニークに区別する番号です。新規条件アイテムの追加時に、Validationビルダーによって自動的に割り振られます。条件アイテムを削除してID が連番でなくなった場合はValidationビルダーを一度閉じ、再表示させてください。
条件アイテムが適用される、入力ストリームでのノードやフィールドです。入力ストリームの形式によって異なります。また、属性は入力ストリームがXML の時のみ有効です。
評価するレコードやノードが複数評価対象となった場合、そのすべてを評価条件とするか、あるいはいずれかとするかを選択します。すべてを評価する場合は「すべて」、いずれかの場合は「いずれか」を選択します。「すべて」が選択された場合、すべてのレコードやノードが評価式を満たさなくては真とはなりません。「いずれか」の場合は、評価対象のレコードやノードのいずれかが評価式を満たしていれば真となります。
データ型を選択します。「String」「int」「boolean」「enum」「double」「regex」が選択可能です。
値の最小値を入力します。評価する値がここで指定された値以下であった場合は偽となります。入力されない場合は評価は行われません。データ型が「String」の場合、この項目は最小の文字数として検証されます。
値の最大値を入力します。評価する値がここで指定された値以上であった場合は偽となります。入力されない場合は評価は行われません。データ型が「String」の場合、この項目は最大の文字数として検証されます。
値を入力します。ここで入力された値と評価する値が等しい場合に真となります。入力されない場合は評価は行われません。データ型がenumの場合は、「,」記号で複数の値を繋げることができます。データ型がregexの場合、正規表現で文字列を評価できます。正規表現については、Mapperコンポーネントのサービスファンクションである「regexp」関数のヘルプを参照してください。
データ検証に失敗した場合にエラー詳細 で取得するメッセージを指定します。メッセージ中に「$value」「$no」「$NO」を埋め込むことで、検証に失敗した値とレコード番号に置換することができます。
メッセージを指定しない場合は、自動生成されたメッセージが使用されます。
置換文字列 | 説明 |
---|---|
$value | 検証した値 |
$no | レコード番号(※ストリームタイプがRecordの場合のみ有効、0ベース) |
$NO | レコード番号(※ストリームタイプがRecordの場合のみ有効、1ベース) |
5行目のレコードで名前の文字数制限を超えています 名前:Sample Corporation
条件アイテムを複数定義した場合に、各々を組み合わせて最終的な評価条件を構成します。
すべての条件を「AND」として評価 | すべての条件に合致した場合に真となります。 |
すべての条件を「 OR 」として評価 | いずれかの条件に合致した場合に真となります。 |
カスタム条件設定 | ユーザーが設定した内容に合致した場合に真となります。 カスタム条件設定では、条件アイテムの「ID」欄で割り当てられた数値と、「|」「&」の2つの記号、そしてカッコ「()」を使って内容を指定できます。 「&」はANDを表します。「1&2」と入力した場合、ID1とID2の両方の条件に合致すれば真となります。 「|」はORを表します。「1|2」と入力した場合、ID1とID2のいずれかの条件に合致すれば真となります。 ANDとORを複合した条件を作成する場合は、「()」を利用します。「(1&2)|(3&4)」と入力した場合、1と2の両方の条件に合致するか、3と4の両方の条件に合致するかのいずれかである場合に真となります。 |
Validationビルダーで条件を作成してOKボタンをクリックすると評価条件がValidationコンポーネントに登録されます。 Validationコンポーネントでは、入力されたデータが評価条件に合致している場合は、アイコンの右線(青色)の方向に制御が流れます。合致しない場合は、下線(黒色)の方向に制御が流れます。合致しなかった場合は、その詳細をエラー詳細 プロパティで参照することができます。例えば、Validationコンポーネントの後にMapperコンポーネントを配置し、マッピング画面で詳細を得ることが可能です。また、FlowService.logにもデバッグレベルで同様の情報が出力されます。