Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編
ここでは,DBアダプタで取得したデータを,列名が要素名となるフォーマットに自動でマッピングする方法について説明します。
この方法は「付録I DBアダプタで取得したデータのフォーマットの変換例」を自動で行うためのものです。ただし,定義時には次の点に注意してください。
マッピングの流れを次に示します。
それぞれの作業について次に示します。
カラム定義ファイルとは,DBアダプタの検索結果のPosition()[変換元列番号]とXMLスキーマの変換先要素名を関連づけるCSV形式のファイルです。
カラム定義ファイルの形式を次に示します。
変換元列番号,変換先要素名[改行] : |
カラム定義ファイルの構文を次に示します。
表J-1 カラム定義ファイルの構文
項目 | カラム定義ファイルの構文 |
---|---|
カラム定義ファイル | ( 行データ 改行コード )* |
行データ | 空白* [ 変換元列番号 空白* ] [ ',' 空白* 変換先要素名 空白* ] |
改行コード | '\r\n' | '\r' | '\n' |
空白 | ' ' | '\t' |
変換元列番号 | ('0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9') + |
変換先要素名 | ( MS932文字 - ( ',' | ':' | 空白 | 改行コード ) )+ |
「付録I.1 例題」のデータベースの内容を例に,次のテーブル構成のデータをDBアダプタで取得する場合の,カラム定義ファイルの定義例について説明します。
表J-2 テーブル構成(先頭行は列名を表す)
受注番号(INTEGER) | 得意先コード(CHAR) | 商品コード(CHAR) | 受注個数(INTEGER) |
---|---|---|---|
1 | AA001 | 0001 | 5 |
2 | AB002 | 0001 | 1 |
3 | AA001 | 0102 | 3 |
4 | XA005 | 0103 | 1 |
5 | AA001 | 0105 | 1 |
このテーブル構成のデータは,DBアダプタから次のように取得されます。
表J-3 DBアダプタから取得したデータ(先頭行はデータの取得順(列番号)を表す)
1 | 2 | 3 | 4 |
---|---|---|---|
1 | AA001 | 0001 | 5 |
2 | AB002 | 0001 | 1 |
3 | AA001 | 0102 | 3 |
4 | XA005 | 0103 | 1 |
5 | AA001 | 0105 | 1 |
このように,DBアダプタから取得したデータは,列名をキーにして値を参照できないため,列名が要素名となるフォーマットに変換する必要があります。
そのため,カラム定義ファイルを使用して,DBアダプタから取得されたデータのどの列番号をどの要素名にマッピングするのかを定義します。
カラム定義ファイルの定義例
1,受注番号 2,得意先コード 3,商品コード 4,受注個数 |
このカラム定義ファイルの1行目は,DBアダプタが1列目のデータを[受注番号]にマッピングすることを表します。
このカラム定義ファイルを使用して自動マッピングすることで,DBアダプタから取得されたデータは次のように変換され,要素名(列名)をキーにして値を参照できるようになります。
表J-4 テーブル構成(先頭行は列名を表す)
受注番号 | 得意先コード | 商品コード | 受注個数 |
---|---|---|---|
1 | AA001 | 0001 | 5 |
2 | AB002 | 0001 | 1 |
3 | AA001 | 0102 | 3 |
4 | XA005 | 0103 | 1 |
5 | AA001 | 0105 | 1 |
カラム定義ファイルを作成するときの留意点について説明します。
1,Name_Kanji 2,Name_Kana 3,Address 4,Tel1 |
図J-1 名前空間が異なる同一要素名がある場合のマッピングの例
列名が要素名となるフォーマットに自動でマッピングするには,データ変換定義を使用します。
データ変換定義画面の変換元スキーマツリービューアにDBアダプタで取得したデータ,変換先スキーマツリービューアに変換後のフォーマットのXMLスキーマを設定してください。
マッピングの方法を次に示します。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.