9.3.5 文字エンコーディングが指定されたXMLドキュメント
- 〈この項の構成〉
(1) CBLXML-SET-ENCODINGサービスルーチン
出力するXMLドキュメントの文字エンコーディングは,CBLXML-SET-ENCODINGサービスルーチンで指定できます。
- 形式
-
CALL 'CBLXML-SET-ENCODING' USING XML-POINTER ENCODING-CODE.
- 引数
-
引数のデータ型
指定
説明
01 XML-POINTER USAGE POINTER.
○
XMLドキュメントのポインタを受け取るポインタ項目を指定する。
01 ENCODING-CODE PIC 9(9) COMP.
○
文字エンコーディングフラグを設定する領域を4バイトの2進項目で指定する。指定する値は,XMLアクセス用データ定義(CBLXMLRC.cbl)に登録されている文字エンコーディングフラグの値でなければならない。
- (凡例)
-
○:サービスルーチンの呼び出し時,値を設定しておく項目
- 戻り値
-
戻り値
内容
1
文字エンコーディングが無効である。
0
正常終了した。
-1
CBLXML-SET-ENCODINGサービスルーチンの引数の値が不正である。
-2
文字エンコーディングを変えることができない。
- 注
-
戻り値は,RETURN-CODE特殊レジスタに設定されます。
表9‒6 文字エンコーディングフラグ 登録集原文"CBLXMLRC.cbl"の定義名(78レベル)
文字エンコーディングフラグ値
文字エンコーディングの意味
CBLXML-EUC-ENCODING
1
EUC-JP
CBLXML-SJIS-ENCODING
2
Shift_JIS
CBLXML-UTF8-ENCODING
3
UTF-8
CBLXML-UTF16-ENCODING
4
Windows,Linuxの場合:UTF-16,リトルエンディアン
AIXの場合:UTF-16,ビッグエンディアン
CBLXML-UTF16BE-ENCODING
5
UTF-16,ビッグエンディアン
CBLXML-UTF16LE-ENCODING
6
UTF-16,リトルエンディアン
CBLXML-WIN31J-ENCODING
7
Windows-31J
- 規則
-
-
CBLXML-SET-ENCODINGサービスルーチンは,CBLXML-CREATE-XML-POINTERサービスルーチン,CBLXML-OP-Interfaceアクセスルーチン,またはCBLXML-OB-InterfaceアクセスルーチンでXMLドキュメントのポインタを作成後,CBLXML-WR-Interface-BaseElementアクセスルーチンを呼び出す前に実行してください。
-
XMLアクセスルーチンのアクセスモード'R'を指定して開いたXMLドキュメントに対しては,CBLXML-SET-ENCODINGサービスルーチンの呼び出しは無効となり,戻り値として1を返します。
-
CBLXML-SET-ENCODINGサービスルーチンを複数回呼び出した場合,最後の呼び出しが有効となります。
-
XMLアクセスルーチンのアクセスモード'W',または'U'を指定して開いたXMLドキュメントに対して,CBLXML-WR-Interface-BaseElementアクセスルーチンを呼び出したあと,CBLXML-CL-Interfaceアクセスルーチン,またはCBLXML-CN-Interfaceアクセスルーチンを呼び出す前にCBLXML-SET-ENCODINGサービスルーチンを実行した場合は出力エンコーディングを変えることはできません。この場合,CBLXML-SET-ENCODINGサービスルーチンは戻り値として-2を返します。
-