Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編
空データとNullデータを区別する設定が有効な場合の,CSV形式データとDOMの相互変換について説明します。
DOMへの変換では,空データとNullデータを区別する設定が有効の場合,CSV形式のデータを読み込む際に「空」と「Null」を区別します。入力データが「空」に該当する場合,DOMのうち対応する要素のnulldata属性に「false」を出力します。入力データが「Null」に該当する場合,nulldata属性に「true」を出力します。
空データとNullデータを区別する設定が有効の場合の,CSV形式のデータからDOMへの変換時の内容を次の表に示します。
表Q-5 CSV形式のデータからDOMへの変換時の内容
| データの扱い | DOMの内容※ |
|---|---|
| 空 | <elem nulldata="false"/> |
| Null | <elem nulldata="true"/> |
| 空白だけ | <elem>[空白]</elem> ただし,空白を削除する設定の場合は,<elem/> |
| 空白以外の文字列 | <elem>[空白以外の文字列]</elem> |
CSV形式のデータからDOMへの変換例を次の表に示します。
表Q-6 CSV形式のデータからDOMへの変換例
| 変換元 | 変換先 | ||||
|---|---|---|---|---|---|
| CSV形式のデータ※1 | バイナリフォーマット定義エディタの設定※2 | DOM※5 | |||
| データ種別 | 埋め字 | 不要文字 | 空データとNullデータの区別 | ||
| ,"", | 文字列 文字列型数値※3 日付時刻※4 |
(任意) | (任意) | 有効 | <elem nulldata="false"/> |
| 無効 | <elem/> | ||||
| ,, | 文字列 文字列型数値※3 日付時刻※4 |
(任意) | (任意) | 有効 | <elem nulldata="true"/> |
| 無効 | <elem/> | ||||
| ,"△△△", ,△△△, |
文字列 | スペース | 削除する | (任意) | <elem/> |
| 削除しない | <elem>△△△</elem> | ||||
| 空文字(0x00) 空文字までをデータとする |
− | <elem>△△△</elem> | |||
| 空文字(0x00) | (任意) | <elem>△△△</elem> | |||
| 文字列型数値※3 | スペース | 削除する | (任意) | エラー (有効な数値でない) |
|
| 削除しない | エラー (有効な数値でない) |
||||
| 0 | (任意) | エラー(不正な文字) | |||
| 日付時刻※4 | − | − | (任意) | エラー (有効な数値でない) |
|
| ,"20190101", ,20190101, |
文字列 文字列型数値※3 |
(任意) | (任意) | (任意) | <elem>20190101</elem> |
| 日付時刻※4 | − | − | <elem>20190101</elem> | ||
DOMを読み込む際に,空データとNullデータを区別する設定が有効の場合,「空」と「Null」を区別します。入力データが「空」に該当する場合,ダブルクォーテーション(")の囲みを出力します。入力データが「Null」に該当する場合,何も出力しません。
入力データが「空」または「Null」に該当する場合,バイナリフォーマット定義の[出力時のダブルクォーテーション「"」の囲み]チェックボックスの指定は無視されます。入力データが「空」でも「Null」でもない場合は,[出力時のダブルクォーテーション「"」の囲み]チェックボックスの指定が有効となります。
また,入力データがバイナリフォーマット定義で指定された[埋め字]だけで,[不要文字]が削除する設定になっている場合は,不要文字が削除されて空となります。この場合,空データとNullデータを区別する設定が有効であればダブルクォーテーション(")で囲まれるので,「空」と区別できます。空データとNullデータを区別する設定が無効の場合は,ダブルクォーテーション(")で囲まないで出力されます。
空データとNullデータを区別する設定が有効の場合の,DOMからCSV形式への変換時の内容を次の表に示します。
表Q-7 DOMからCSV形式への変換時の内容
| データの扱い | バイナリフォーマット定義の設定 | CSV形式のデータ※ | |
|---|---|---|---|
| 「"」の囲み | 不要文字 | ||
| 空 | あり | 削除する | ,"", |
| 削除しない | |||
| なし | 削除する | ||
| 削除しない | |||
| Null | あり | 削除する | ,, |
| 削除しない | |||
| なし | 削除する | ||
| 削除しない | |||
| 空白だけ | あり | 削除する | ,"", |
| 削除しない | ,"[空白]", | ||
| なし | 削除する | ,"", | |
| 削除しない | ,[空白], | ||
| 空白以外の文字列 | あり | 削除する | ,"[空白以外の文字列]", |
| 削除しない | |||
| なし | 削除する | ,[空白以外の文字列], | |
| 削除しない | |||
DOMからCSV形式のデータへの変換例を次の表に示します。
表Q-8 DOMからCSV形式のデータへの変換例
| 変換元 | 変換先 | |||||
|---|---|---|---|---|---|---|
| DOM※1 | バイナリフォーマット定義エディタの設定※2 | CSV形式のデータ※5 | ||||
| 「"」の囲み | データ種別 | 埋め字 | 不要文字 | 空データとNullデータの区別 | ||
| <elem/> <elem nulldata="false"/> <elem nulldata="0"/> |
あり | 文字列 文字列型数値※3 日付時刻※4 |
(任意) | (任意) | 有効 | ,"", |
| 無効 | ,, | |||||
| なし | (任意) | (任意) | 有効 | ,"", | ||
| 無効 | ,, | |||||
| <elem nulldata="true"/> <elem nulldata="1"/> <elem nulldata="true">△△△</elem> <elem nulldata="true">a</elem> |
(任意) | 文字列 文字列型数値※3 日付時刻※4 |
(任意) | (任意) | 有効 | ,, |
| <elem>△△△</elem> | あり | 文字列 | スペース | 削除する | (任意) | ,"", |
| 削除しない | ,"△△△", | |||||
| 空文字(0x00) 空文字までをデータとする |
− | ,"△△△", | ||||
| 空文字(0x00) | 削除する | ,"", | ||||
| 削除しない | ,"△△△", | |||||
| なし | スペース | 削除する | 有効 | ,"", | ||
| 無効 | ,, | |||||
| 削除しない | (任意) | ,△△△, | ||||
| 空文字(0x00) 空文字までをデータとする |
− | (任意) | ,△△△, | |||
| 空文字(0x00) | 削除する | 有効 | ,"", | |||
| 無効 | ,, | |||||
| 削除しない | (任意) | ,△△△, | ||||
| あり | 文字列型数値※3 | (任意) | (任意) | (任意) | ,"0", | |
| なし | (任意) | (任意) | (任意) | ,0, | ||
| あり | 日付時刻※4 | − | − | (任意) | ,"20000101", | |
| なし | − | − | (任意) | ,20000101, | ||
| <elem>20190101</elem> | あり | 文字列 文字列型数値※3 |
(任意) | (任意) | (任意) | ,"20190101", |
| なし | (任意) | (任意) | (任意) | ,20190101, | ||
| <elem>2019-01-01</elem> | あり | 日付時刻※4 | − | − | (任意) | ,"20190101", |
| なし | − | − | (任意) | ,20190101, | ||
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.