付録G.1 XMLドキュメントの文字エンコーディング
cblxmlコマンドが入力できるDTD,DDFファイルや,XMLアクセスルーチンが入力,出力,更新するXMLドキュメントには次に示す文字エンコーディングが使用できます。
項番 |
文字エンコーディング |
---|---|
1 |
Shift_JIS |
2 |
Windows-31J※ |
3 |
EUC-JP |
4 |
UTF-8 |
5 |
UTF-16 (エンディアンを自動判定し入力します) |
項番 |
文字エンコーディング |
---|---|
1 |
Shift_JIS |
2 |
Windows-31J |
3 |
EUC-JP |
4 |
UTF-8 |
5 |
UTF-16 (出力時ビッグエンディアン,リトルエンディアンの指定ができます) |
注意事項
-
XMLドキュメントに指定した文字エンコーディングと文字コードは同一でなければなりません。例えば,文字エンコーディングにShift_JISを指定した場合,文字コードはシフトJISでなければなりません。
-
UTF-16のXMLドキュメントを出力した場合,XMLドキュメントの先頭にはBOM(Byte Order Mark)を出力します。UTF-8のXMLドキュメントを出力した場合,XMLドキュメントの先頭にはBOMを出力しません。また,BOMの有無を指定することもできません。
- 〈この項の構成〉
(1) 出力するXMLドキュメントの文字エンコーディングの設定
XMLアクセスルーチンを使用して出力するXMLドキュメントの文字エンコーディングは,CBLXML-SET-ENCODINGサービスルーチン,cblxmlコマンドの-outencodingオプションのどちらかを用いて指定します。優先順位は次の1.,2.の順になります。
-
CBLXML-SET-ENCODINGサービスルーチン
-
cblxmlコマンドの-outencodingオプション
1.,2.のどちらも指定がない場合は,文字エンコーディングに次の値が設定されます。
-
UNIXの場合:環境変数LANGの値
環境変数LANGの値が文字エンコーディングに設定されます。環境変数LANGの設定がない場合は動作は保証しません。
-
Windowsの場合:Shift_JIS
文字エンコーディングにShift_JISが設定されます。
表G‒3 出力するXMLドキュメントの文字エンコーディングの設定方法 CBLXML-SET-ENCODINGサービスルーチンの指定
cblxmlコマンドの-outencodingオプションの値
環境変数LANGの値(コード系)
出力するXMLドキュメントの文字エンコーディング(encoding属性の値)
CBLXML-SJIS-ENCODINGフラグ
−
−
Shift_JIS
CBLXML-WIN31J-ENCODINGフラグ
−
−
Windows-31J
CBLXML-EUC-ENCODINGフラグ
−
−
EUC-JP
CBLXML-UTF8-ENCODINGフラグ
−
−
UTF-8
CBLXML-UTF16-ENCODINGフラグ
−
−
-
Windows,Linuxの場合:UTF-16,リトルエンディアン
-
AIXの場合:UTF-16,ビッグエンディアン
CBLXML-UTF16BE-ENCODINGフラグ
−
−
UTF-16,ビッグエンディアン
CBLXML-UTF16LE-ENCODINGフラグ
−
−
UTF-16,リトルエンディアン
CBLXML-SET-ENCODING
サービスルーチンを呼び出さない
sjis
−
Shift_JIS
win31j
−
Windows-31J
euc
−
EUC-JP
utf8
−
UTF-8
utf16
−
-
Windows,Linuxの場合:UTF-16,リトルエンディアン
-
AIXの場合:UTF-16,ビッグエンディアン
utf16be
−
UTF-16,ビッグエンディアン
utf16le
−
UTF-16,リトルエンディアン
指定なし
シフトJIS
Shift_JIS
日本語EUC
EUC-JP
UTF-8(Linuxの場合)
UTF-8
シフトJIS,日本語EUC,UTF-8以外
-
Windows,AIXの場合:Shift_JIS
-
Linuxの場合:EUC-JP
-
CBLXML-SET-ENCODINGサービスルーチンについては「9.3.5 文字エンコーディングが指定されたXMLドキュメント」を,cblxmlコマンドの-outencodingオプションについては「4.1.1(2) cblxmlコマンドの実行」を参照してください。