ユーザ固有フォーマットとXML文書間におけるフォーマット変換は、属性ごとに以下のルールに従って行われます。
X属性、K属性、N属性、C属性に対しては、カットする文字(トリミング文字)、詰める文字(パディング文字)を変更できます。
X属性、N属性、C属性のデフォルトのトリミング文字、およびパディング文字は半角空白です。K属性のデフォルトのトリミング文字、およびパディング文字は全角空白です。
トリミング文字、およびパディング文字を変更する場合は、Formatmanagerクライアントにおける[運用登録]画面で、“トリミング文字”または“パディング文字”を指定してください。
属性 | ユーザ固有フォーマットからXML文書への変換 | XML文書からユーザ固有フォーマットへの変換 | 符号の扱い | 小数点の扱い |
---|---|---|---|---|
X | 設定されている文字列の後方の空白をカットして出力します。 | 設定されている文字列の後方に桁数いっぱいまで空白を詰めて出力します。 | - | - |
K | 設定されている2バイト文字の後方の空白をカットして出力します。 | 設定されている2バイト文字の後方に桁数いっぱいまで全角空白を詰めて出力します。 | - | - |
B | 設定されている値を2進数表現にして出力します。 | 設定されている値を16進数にして出力します。 | 双方とも1の補数で表現します。 | - |
H | 設定されている値の先頭に“0x”を付けて、16進数表現にして出力します。 | 設定されている値の先頭の“0x”をカットして、16進数のまま出力します。 | - | - |
N | 設定されている数値の先頭の空白をカットして出力します。 | 設定されている数値の先頭に桁数いっぱいまで空白を詰めて出力します。 | 双方とも先頭に“-”が付加されます。 | 双方とも明示的に小数点を表現します。 |
9 | 設定されている数値を10進数に変換後、先頭の“0”をカットして出力します。 | 設定されている数値をゾーン10進数に変換後、先頭に桁数いっぱいまで“0”を詰めて出力します。 | XML文書では、先頭に“-”が付加されます。 | XML文書では、明示的に小数点を表現します。 |
C | 設定されている数値の先頭の空白をカットして出力します。 | 設定されている数値の先頭に桁数いっぱいまで空白を詰めて出力します。 | 双方とも先頭に“-”が付加されます。 | 双方とも明示的に小数点を表現します。 |
P | 設定されている数値を10進数に変換後、先頭の“0”をカットして出力します。 | 設定されている数値をパック10進数に変換後、先頭に桁数いっぱいまで“0”を詰めて出力します。 | XML文書では、先頭に“-”が付加されます。 | XML文書では、明示的に小数点を表現します。 |
-:対応しない項目
属性 | ユーザ固有フォーマットの値 | XML文書(DTD)の値 |
---|---|---|
X | ABC□ | <項目>ABC</項目> |
K | 富士通■■ | <項目>富士通</項目> |
B | (0000010011010010) | <項目>00000100 11010010</項目> |
H | 0x04D2 | <項目>0x04D2</項目> |
N | □1234 | <項目>1234</項目> |
-1234 | <項目>-1234</項目> | |
12.34 | <項目>12.34</項目> | |
9 | 01234 | <項目>1234</項目> |
0x3031323354 | <項目>-1234</項目> | |
01234 「9.99タイプ」 | <項目>12.34</項目> | |
C | □1,234 | <項目>1,234</項目> |
-1,234 | <項目>-1,234</項目> | |
12.34 | <項目>12.34</項目> | |
P | 0x012343 | <項目>1234</項目> |
0x012345 | <項目>-1234</項目> | |
0x012343 「9.99タイプ」 | <項目>12.34</項目> |
上記のユーザ固有フォーマットの値は、以下のように表記しています。
□は空白を示します。
■は全角空白を示します。
( )でくくられているものはビット列(2進数)で表現しています。
0xが先頭に書かれているものはバイナリ(16進数)で表現しています。
その他はテキスト(10進数)で表現しています。
全角空白の文字コードは、出力先の文字コード体系に準じます。
ユーザ固有フォーマットとXML文書(Schema)間の変換では、属性の性質を考慮して、変換できない属性の組合せがあります。属性の組合せごとの変換可否と変換ルールは以下のとおりです。
属性 | XML Schemaの属性(データ型) | 変換可否 | 変換ルール |
---|---|---|---|
X | string | ○ | 設定されている文字列の後方の空白をカットして出力します。 |
boolean | ○ | 数値に変換して0または1の場合には、10進数表現にして出力します。 | |
decimal | ○ | 符号、小数点、小数部を含め数値として適切な文字列の場合には、10進数表現にして出力します。不適切な文字を含む場合には、“0”を出力します。 | |
dateTime | ○ | “-”、“/”を区切り文字とした日時表示の適切な文字列の場合には、出力先のXML Schemaデータ型の書式に変換して出力します。dateTime型に対して“2004-01-01”が入力された場合など、情報が欠落している場合には、“2004-01-01T00:00:00”などと“0”を補って出力し、警告メッセージを出力します。 | |
hexBinary | ○ | 入力文字列をそのまま出力し、警告メッセージを出力します。 | |
anyURI | ○ | 入力文字列をそのまま出力し、警告メッセージを出力します。 | |
language | ○ | 入力文字列をそのまま出力し、警告メッセージを出力します。 | |
K | string | ○ | 設定されている文字列の後方の空白をカットして出力します。 length制約が定義されている場合には、先頭からその長さ分だけを出力し、警告メッセージを出力します。 |
boolean | × |
| |
decimal | × |
| |
dateTime | × |
| |
hexBinary | × |
| |
anyURI | × |
| |
language | × |
| |
B | string | × |
|
boolean | × |
| |
decimal | × |
| |
dateTime | × |
| |
hexBinary | ○(B属性だけ) | 入力文字列のバイトコードを16進数表現にして出力します。 | |
base64Binary | × |
| |
anyURI | × |
| |
language | × |
| |
N | string | ○ | 設定されている数値を10進数に変換後、10進数表現にして出力します。 |
boolean | ○ | 数値に変換して0または1の場合には、10進数表現にして出力します。 | |
decimal | ○ | 符号、小数点、小数部を含め数値として適切な文字列の場合には、10進数表現にして出力します。不適切な文字を含む場合には、“0”を出力します。 | |
dateTime | × |
| |
hexBinary | × |
| |
anyURI | × |
| |
language | × |
|
○:変換可能な組合せ
×:変換不可能な組合せ(エラー)
XML Schemaの属性(データ型) | 属性 | 変換可否 | 変換ルール |
---|---|---|---|
string | X | ○ | 入力文字列を先頭から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、後方に桁数いっぱいまで空白を詰めて出力します。 |
K | ○ | 入力文字列を先頭から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、後方に桁数いっぱいまで全角空白を詰めて出力します。 | |
B | × |
| |
H | ○ | 入力文字列を16進数にして、末尾から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。 | |
N | ○ | 入力文字列を、 | |
boolean | X | ○ | 入力文字列が“0”または“1”の場合には、“0”または“1”を先頭に出力します。定義されている長さが2以上の場合には、後方に桁数いっぱいまで空白を詰めて出力します。 |
K | × |
| |
B | × |
| |
H | ○ | 入力文字列が“0”または“1”の場合には、16進数にして末尾に出力します。定義されている長さが2以上の場合には、先頭に“00”を詰めて出力します。 | |
N | ○ | 入力文字列を、 | |
decimal | X | ○ | 入力文字列を先頭から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、後方に桁数いっぱいまで空白を詰めて出力します。 |
K | × |
| |
B | ○ | 入力文字列を16進数にして、末尾から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。 | |
H | ○ | 入力文字列を16進数にして、末尾から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。 | |
N | ○ | 入力文字列を、 | |
dateTime | X | ○ | 入力文字列を先頭から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、後方に桁数いっぱいまで空白を詰めて出力します。 |
K | × |
| |
B | × |
| |
H | × |
| |
N | ○ | 入力文字列を先頭から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、後方に桁数いっぱいまで空白を詰めて出力します。 | |
hexBinary | X | × |
|
K | × |
| |
B | × |
| |
H | ○ | 入力文字列を16進数にして、末尾から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、先頭に“00”を詰めて出力します。 | |
N | × |
| |
base64Binary | X | × |
|
K | × |
| |
B | × |
| |
H | × |
| |
N | × |
| |
anyURI | X | ○ | 入力文字列を先頭から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、後方に桁数いっぱいまで空白を詰めて出力します。 |
K | × |
| |
B | × |
| |
H | × |
| |
N | × |
| |
language | X | ○ | 入力文字列を先頭から定義されている長さ分だけ出力します。入力文字列の方が短い場合には、後方に桁数いっぱいまで空白を詰めて出力します。 |
K | × |
| |
B | × |
| |
H | × |
| |
N | × |
|
○:変換可能な組合せ
×:変換不可能な組合せ(エラー)