マージMapper(基本)

= 備考 =

マージMapperとは

マージMapperとは、複数の入力元コンポーネントから読み取ったデータをマッピング定義にしたがって結合し、後続のコンポーネントへの書き込みを行うコンバーターです。

作成方法

マージMapperはデザイナー内で使用することができます。マージMapperの作成方法は以下のとおりです。

  • ツールパレットからコンポーネントアイコンを配置する

    スクリプトキャンバスにツールパレットの「変換」-「基本」-「マージ」をドラッグ&ドロップすると、キャンバスにアイコンが配置されます。

マージの設定

  1. マージロジックをマッピングキャンバスに配置します。

  2. 入力元の繰り返しポイントをマージロジックの第一ハンドラにマッピングします。

    = 補足 =

    繰り返しポイントは、入力元のスキーマのデータモデルにより指定方法が異なります。

    = 備考 =

    詳細については、「繰り返しポイントについて」を参照してください。

  3. 入力元のマージするキーとなる要素をマージロジックの第二ハンドラにマッピングします。

  4. 同様に、マージするすべての入力元に対してマッピングを行います。

  5. マージロジックから出力先の繰り返しポイントへマッピングします。

  6. 出力したい要素を複数の入力元から出力先へマッピングします。

仮スキーマ

データフローが削除された場合、ドキュメントMapperの入出力スキーマおよび、マージMapperの出力スキーマでは、それまで設定されていたスキーマが残って表示されます。これを「仮スキーマ」と呼びます。

仮スキーマとなった場合、コンポーネントアイコン名の部分が「仮スキーマ」と表示され、通常のスキーマと区別されます。

コンポーネントとデータフローをつなげると、仮スキーマから通常のスキーマに戻ります。

仮スキーマになることにより、データフローを削除してもマッピングリンクが残る、コンポーネントにつないでいなくてもスキーマの編集ができるなどのメリットがあります。

一方、仮スキーマ表示ができないMapper(変数Mapperの入力スキーマ、マージMapperの入力スキーマ)では、データフローを削除するとスキーマがリセットされ、マッピングリンクが削除されます。

また、データフローを設定する前にスキーマを編集したい場合などは、手動で仮スキーマを設定することができます。

右クリックメニューから[仮スキーマの設定]を選択してください。

処理データログ出力機能

処理データログ出力機能とは、Mapperロジックなどで処理を行ったデータの情報がログに出力する機能です。

このログはMapperの内部処理の順に出力されるため、Mapperでどのようにデータの変換・加工が行われているかを詳細に把握することができます。

この機能により、実データの動きを確認しながら変換・加工処理を作成することができ、効率的な開発が可能になります。

ログを出力する対象、およびログレベルは以下のとおりです。

対象

ログレベル

Mapperロジックの入力データ・出力データ

DEBUG

出力スキーマに出力されたデータ

DEBUG

出力内容の詳細は、以下のとおりです。

Mapperロジックの入力データ・出力データ

Mapperロジックの入力データ・出力データは、ログレベルDEBUGで出力します。

フォーマットは入力ハンドラの数によって異なります。

入力ハンドラを持たないMapperロジック

フォーマット

[<Mapperロジック名>] 出力=[<出力データ>]

出力例

[単一行文字列定数] 出力=[outputData]

入力ハンドラを1つ持つMapperロジック

フォーマット

[<Mapperロジック名>] 入力=[<入力データ>] | 出力=[<出力データ>]

出力例

[左文字列] 入力=[SampleData] | 出力=[Sample]

入力ハンドラを複数持つMapperロジック

フォーマット

[<Mapperロジック名>] 入力=[<入力データ1>][<入力データ2>]... | 出力=[<出力データ>]

出力例

[連結] 入力=[Sample][Data] | 出力=[SampleData]

出力スキーマに出力されたデータ

出力スキーマに出力されたデータは、ログレベルDEBUGで出力します。

フォーマットは出力データのデータモデルがテーブルモデル型の場合とXML型の場合によって異なります。

テーブルモデル型

フォーマット

column[<行番号>,<列番号>] 入力=[<入力データ>]

出力例

column[2,1] 入力=[SampleData]
= 補足 =

行番号・列番号は1から始まる数値です。

XML型

フォーマット

<出力スキーマのパス> 入力=[<入力データ>]
= 補足 =

出力スキーマの属性は、「@<属性名>」と出力します。

= 補足 =

出力スキーマの名前空間の接頭辞は、要素名・属性名の前に「<接頭辞>:」と出力します。

出力例

/root/row/col 入力=[SampleData]

/root/row/col/@attr 入力=[SampleData]

/root/row/pre:col 入力=[SampleData]

注意事項

  • 条件判定による出力の切り替えロジックは、[判定基準]に対応したMapperロジックを条件判定に使用します。

    条件判定の入力データは、[判定基準]に使用されたMapperロジックのログとして出力されます。

    出力例

    [単一行文字列定数] 出力=[Sample]

    [単一行文字列定数] 出力=[Data]

    [同じ] 入力=[Sample][Data] | 出力=[false]

    [単一行文字列定数] 出力=[<不成立時の出力内容>]

    [条件判定] 出力=[<不成立時の出力内容>]

仕様制限

  • Mapperロジックの入力ハンドラの型が「ノード集合」の場合、入力データのログは出力されません。

  • 入力ハンドラを1つまたは複数持つMapperロジックで、入力値がnullだった場合、入力データが出力されない場合があります。

  • 以下のMapperロジックは、入出力データをログに出力しません。

    • マージ

      • Or-Appendマージ

      • Or-Integrateマージ

      • And-Appendマージ

      • And-Integrateマージ

      • Left-Right-Joinマージ

    • その他

      • XPath式による出力

  • 以下のMapperロジックは、入力データをログに出力しません。

    • 分岐

      • 条件判定による出力の切り替え

      • スイッチ判定による出力の切り替え

    • 数値

      • 数値に変換

      • 平方根

    • 文字列

      • 文字列に変換