ドキュメントMapper/変数Mapper(基本)

本ページでは、ドキュメントMapperおよび変数Mapperを合わせて「Mapper」と表記します。

= 備考 =

 

以下の基本機能について説明します。

 

Mapperとは

Mapperとは、入力元のコンポーネントから読み取ったデータを変換・加工して後続のコンポーネントへの書き込み、または変数への代入を行うコンバーターです。

作成方法

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

  • ドキュメントMapper・変数Mapper共通

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

    = 補足 =

    変数Mapperの場合はツールパレットの「基本」-「処理」-「変数代入」をドラッグ&ドロップします。

 

データの変換や加工などのマッピング定義は、専用のGUIツールで行います。

= 参照 =

詳細については、「Mapperエディター」を参照してください。

 

仮スキーマ

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

 

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

 

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

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

 

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

 

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

入力元の「入力データ」、または出力先の「出力データ」の右クリックメニュー[仮スキーマの設定]を選択してください。

 

繰り返し処理

入力元と出力先の要素(繰り返しポイント)を繰り返しロジックでつなげることによって、その配下の要素を繰り返し処理できます。

繰り返し処理の作成方法

  1. 繰り返しロジックをマッピングキャンバスにドラッグ&ドロップします。

  2. 入力元と出力先の繰り返しポイントを繰り返しロジックにドラッグしてマッピングします。

    = 参照 =

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

 

繰り返しポイントについて

繰り返しポイントとして設定可能な要素はスキーマのデータモデル によって異なります。

  • テーブルモデル型

    • row要素のみ繰り返しポイントが設定できます。

  • XML型

    • ルート要素以外の要素に繰り返しポイントが設定できます。

 

マッピングリンクの実線と破線の違いについて

マッピングリンクには実線と破線があり、それぞれ意味が異なります。

  • 実線は、データのマッピングを表します。通常のMapperロジックで使用されます。

  • 破線は、繰り返しを表します。繰り返しロジックや、マージロジックで使用されます。

変数の使用方法

コンポーネント変数

コンポーネント変数とは、各コンポーネントで取得できる変数です。コネクターの結果を用いて、後続の処理を切り替えたい時に使用します。

= 参照 =

取得できる値はコンポーネントによって異なります。詳細については、各コネクターのヘルプを参照してください。

 

ドキュメントMapper、変数Mapperでは、「コンポーネント変数の取得」「スクリプト変数への格納」「変換・加工」などを行うことができます。

「変換・加工」はMapperロジックを使用することで可能になります。

 

スクリプト変数

スクリプト変数とは、スクリプト実行時に一時的に値を保持する変数です。コネクターの結果データなどを一時的に格納し、後続の処理で使いたい時に使用します。

 

 

ドキュメントMapper、変数Mapperで、「データリソースとのやり取り」「変換・加工」などを行うことができます。

「変換・加工」はMapperロジックを使用することで可能になります。

 

スクリプト変数をMapperロジックのプロパティ項目(文字列型)で使用したい場合には、「${<変数名>}」と指定します。

「$」をエスケープして出力したい場合には「$$」と指定してください。

注意

XML型のスクリプト変数はマッピングで使用できないため表示されません。

 

処理データログ出力機能

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

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

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

 

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

対象

ログレベル

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

DEBUG

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

DEBUG

スクリプト変数に代入されたデータ

INFO

 

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

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]

 

スクリプト変数に代入されたデータ

スクリプト変数に代入されたデータは、ログレベルINFOで出力します。

フォーマット

<スクリプト変数名>(<スクリプト変数の型名>) 入力=[<入力データ>]

出力例

var(String) 入力=[SampleData]

注意事項

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

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

出力例

[単一行文字列定数] 出力=[Sample][単一行文字列定数] 出力=[Data]
[同じ] 入力=[Sample][Data] | 出力=[false]
[単一行文字列定数] 出力=[<不成立時の出力内容>]
[条件判定] 出力=[<不成立時の出力内容>]

 

仕様制限

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

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

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

    • 繰り返し

      • 単純な繰り返し

      • キーによるソート

      • 二つのキーによるソート

      • 条件による抽出

      • グループ化

    • Excel

      • Excel書式生成

    • その他

      • 入力要素のコピー

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

    • 分岐

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

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

    • 条件

      • And演算

      • Or演算

      • Not演算

      • 真偽値に変換

      • nullチェック

    • 数値

      • 数値に変換

      • 平方根

    • 文字列

      • セルの値の取得

      • XPathによる値の取得

      • 文字列に変換