COBOL2002 XML連携機能ガイド
XML連携機能で処理するXMLドキュメントでは,次に示す文字エンコーディングを使用してください。
文字エンコーディングの指定を省略した場合はUTF-8を仮定します。
シフトJISコードのXMLドキュメントを解析する場合は,シフトJISコードからUnicodeへ変換して解析したあと,値をCOBOLデータ項目に入力するときに,UnicodeからシフトJISコードへ変換します。
XML不正文字は,Unicodeに変換したあとにチェックされ,エラーとして通知されます。XML不正文字については,「付録E.2(1) XML標準仕様での文字の範囲」を参照してください。シフトJISコードからUnicodeへの変換表を表E-1に示します。
表E-1 シフトJISでのコード範囲とUnicodeへの変換表
項番 | 説明 | コード範囲(16進数) | 備考 |
---|---|---|---|
1 | 制御コード | 00-20 | ※1 |
2 | ASCII/JISローマ字 | 21-7e | x-sjis-cp932※2 |
3 | 半角かたかな | a1-df | |
4 | JIS X 0208-1990(第1バイト) | 81-9f e0-ec | |
5 | JIS X 0208-1990(第2バイト) | 40-7e 80-fc | |
6 | ユーザ定義文字(第1バイト) | f0-f9 | ユーザ外字※3 |
7 | ユーザ定義文字(第2バイト) | 40-7e 80-fc | |
8 | NEC選定IBM拡張漢字(第1バイト) | ed-ee | x-sjis-cp932※2 |
9 | NEC選定IBM拡張漢字(第2バイト) | 40-7e 80-fc | |
10 | IBM拡張漢字(第1バイト) | fa-fc | |
11 | IBM拡張漢字(第2バイト) | 40-7e 80-fc | |
12 | 項番1〜11以外の範囲 | 未定義※4 |
日本語EUCのXMLドキュメントを解析する場合は,日本語EUCからUnicodeへ変換して解析したあと,値をCOBOLデータ項目に入力するときに,Unicodeから日本語EUCへ変換します。
日本語EUCでは,半角かな文字に半角英数字2文字分の領域が必要です。このため,XMLドキュメントの入出力で半角かな文字を使用する場合は,COBOLプログラム中で長さの扱いに注意してください。
XML不正文字は,Unicodeに変換したあとにチェックされ,エラーとして通知されます。XML不正文字については,「付録E.2(1) XML標準仕様での文字の範囲」を参照してください。日本語EUCからUnicodeへの変換表を表E-2に示します。
表E-2 日本語EUCでのコード範囲とUnicodeへの変換表
項番 | 説明 | コード範囲(16進数) | 備考 |
---|---|---|---|
1 | 制御コード | 00-20 | ※1 |
2 | ASCII/JISローマ字 | 21-7E | x-eucjp-open-19970715-ms※2 |
3 | JIS X 0208-1990(第1バイト) | A1-FE | |
4 | JIS X 0208-1990(第2バイト) | A1-FE | |
5 | 半角かたかな(第1バイト) | 8E | |
6 | 半角かたかな(第2バイト) | A1-DF | |
7 | 項番1〜6以外の範囲 | 未定義※3 |
表E-3 UTF-8でのコード範囲
項番 | 説明 | UTF-8のコード範囲※1(1バイト目) | UTF-8のコード範囲※1(2バイト目) | UTF-8のコード範囲※1(3バイト目) | UTF-8のコード範囲※1(4バイト目) | ISO-10646-UCS-4のコード範囲※1 | 備考 |
---|---|---|---|---|---|---|---|
1 | 1バイト形式 | 00-7f | 00000000-0000007f | ||||
2 | 2バイト形式 | c2-df | 80-bf | 00000080-000007ff | |||
3 | 3バイト形式 | e0-ef | 80-bf | 80-bf | 00000800-0000ffff | ||
4 | 4バイト形式 | f0-f4 | 80-bf | 80-bf | 80-bf | 00010000-0010ffff※2 | |
5 | 項番1〜4以外の範囲 | 未定義※3 |
表E-4 UTF-16でのコード範囲
項番 | 説明 | UTF-16のコード範囲※1 | ISO-10646-UCS-4のコード範囲※1※2 | 備考 |
---|---|---|---|---|
1 | サロゲートペア以外のコード範囲※2 | 0000-d7ff | 00000000-0000d7ff | |
2 | e000-ffff | 0000e000-0000ffff | ||
3 | 上位のサロゲートのコード範囲※3 | d800-dbff | 00010000-0010ffff | |
4 | 下位のサロゲートのコード範囲※3 | dc00-dfff | ||
5 | 項番1〜4以外の範囲 | 未定義※4 |
表E-5 ISO-10646-UCS-2でのコード範囲
項番 | 説明 | コード範囲※1 | 備考 |
---|---|---|---|
1 | アルファベット,かな,記号など | 0000-4dff | |
2 | CJK統一文字 | 4e00-9fff | |
3 | ユーザ定義外字領域 | e000-f8ff | |
4 | 全角アルファベット,半角かな文字 | f900-fffd | |
5 | 項番1〜4以外の範囲 | 未定義※2 |
UnicodeからシフトJISへの変換は,シフトJISのコード範囲で,x-sjis-cp932の逆変換となります。ただし,シフトJISからUnicodeへの変換で,同じ字形を表す複数のコードから,Unicodeの一つのコードへ対応づけられているものについては,対応するコードの一つが逆変換に使用されるため,完全な逆変換とはなりません。
Unicodeから日本語EUCへの変換は,日本語EUCのコード範囲で,x-eucjp-open-19970715-msの逆変換となります。ただし,日本語EUCからUnicodeへの変換で,同じ字形を表す複数のコードから,Unicodeの一つのコードへ対応づけられているものについては,対応するコードの一つが逆変換に使用されるため,完全な逆変換とはなりません。
XML連携機能,およびXML連携機能の実行ライブラリで使用できる外字コードを,次に示します。なお,外字コードは,要素の値だけに使用できます。
シフトJIS,Unicode以外の外字コードは使用できません。
表E-6 使用できる外字コード
使用できるシフトJISでの外字コード(16進数) | Unicodeのユーザエリアでの文字コード(16進数) |
---|---|
f040〜f07e,f080〜f0fc | e000〜e0bb |
f140〜f17e,f180〜f1fc | e0bc〜e177 |
f240〜f27e,f280〜f2fc | e178〜e233 |
f340〜f37e,f380〜f3fc | e234〜e2ef |
f440〜f47e,f480〜f4fc | e2f0〜e3ab |
f540〜f57e,f580〜f5fc | e3ac〜e467 |
f640〜f67e,f680〜f6fc | e468〜e523 |
f740〜f77e,f780〜f7fc | e524〜e5df |
f840〜f87e,f880〜f8fc | e5e0〜e69b |
f940〜f97e,f980〜f9fc | e69c〜e757 |
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.