4.1.1 cblxmlコマンドの使用方法
(1) cblxmlコマンドの実行に必要な環境変数の設定
cblxmlコマンドを実行する場合は,次に示す環境変数を設定しておく必要があります。
- (UNIXの場合)
-
-
cblxmlコマンドの格納パスを設定します。次の値を指定してください。
COBOL2002のインストールディレクトリ/bin
-
共用ライブラリの格納パスを設定します。次の値を指定してください。
COBOL2002のインストールディレクトリ/lib
-
システム環境変数LD_LIBRARY_PATH(Linuxの場合)
共用ライブラリの格納パスを設定します。次の値を指定してください。
COBOL2002のインストールディレクトリ/lib:COBOL2002のインストールディレクトリ/lib/cblxml
-
XMLパーサが出力するメッセージのパスを設定します。次の値を指定してください。
COBOL2002のインストールディレクトリ/lib/cblxml/cat/%L/%N
- (例)
-
sh(Bシェル)の場合
NLSPATH=/opt/HILNGcbl2k/lib/cblxml/cat/%L/%N export NLSPATH
-
メッセージの言語種別を設定します。次の値を指定してください。
AIXの場合
Ja_JP
ja_JP
Linuxの場合
ja_JP.UTF-8
文字コードについては,「付録G.2 文字コード」を参照してください。
- 注
-
COBOL2002のインストールディレクトリは,OSによって異なります。
AIX(32),Linux(x86)の場合
/opt/HILNGcbl2k
AIX(64),Linux(x64)の場合
/opt/HILNGcbl2k64
-
- (Windowsの場合)
-
-
cblxmlコマンドの格納パスを設定します。次の値を指定してください。
COBOL2002のインストールフォルダ\bin
-
共用ライブラリの格納パスを設定します。次の値を指定してください。
COBOL2002のインストールフォルダ\lib
- (例)
-
set LIB=COBOL2002のインストールフォルダ\lib
-
(2) cblxmlコマンドの実行
cblxmlコマンドの実行方法について説明します。
- 形式
cblxml DDFファイル名 -dtd DTDファイル名 -o 生成するCOBOL副プログラムのファイル名 〔-catalog カタログファイル名〕 〔-nopeconv〕 〔-chkovflow〕 〔-chkchar〕 〔-gen 生成アクセスルーチンキーワード〕 〔-outencoding エンコーディングキーワード〕 〔-unisrc〕〔-bigendianbin〕〔-bigendianfloat〕
- DDFファイル名
-
DTDに対応して作成したDDFファイル名を指定します。DDFファイル名の拡張子は「.cxd」でなければなりません。
DDFファイルでは,使用する文字エンコーディングをXML宣言で指定します。使用できる文字エンコーディングについては,「付録G.1 XMLドキュメントの文字エンコーディング」を参照してください。使用できない文字エンコーディングを指定した場合,動作は保証しません。
DDFファイルに文字エンコーディングの指定がない場合,「UTF-8」を仮定します。
- -dtd DTDファイル名
-
COBOLプログラムのアクセス対象とするXMLドキュメントのDTDファイル名を指定します。DTDファイル名の拡張子は「.xml」または「.dtd」※でなければなりません。
DTDファイルでは,使用する文字エンコーディングをXML宣言で指定します。使用できる文字エンコーディングについては,「付録G.1 XMLドキュメントの文字エンコーディング」を参照してください。使用できない文字エンコーディングを指定した場合,動作は保証しません。
DTDファイルに文字エンコーディングの指定がない場合,「UTF-8」を仮定します。
注※
「.dtd」はWindowsの場合だけで有効です。
- -o 生成するCOBOL副プログラムのファイル名
-
cblxmlコマンドが出力するXMLアクセスルーチンのファイル名を指定します。指定するファイル名の拡張子は,「.cbl」でなければなりません。
なお,cblxmlコマンドが出力するXMLアクセス用データ定義のファイル名は,XMLアクセスルーチンのファイル名の末尾に「-COPY」を付けた名称となります。
出力するCOBOL原始プログラムは固定形式正書法で出力されます。
- -catalog カタログファイル名
-
公開識別子を使用するためのカタログファイル名を指定します。拡張子は「.cxc」でなければなりません。
詳細については,「9.3.3 公開識別子が指定されたXMLドキュメント」を参照してください。
- -nopeconv
-
verbatim属性に"yes"を指定していない場合,XMLドキュメントの出力時に定義済み実体を変換しません。
詳細については,「付録D.1 定義済み実体参照」を参照してください。
- -chkovflow
-
XMLドキュメントの入力時にオーバフローが発生した場合,ステータス10を返します。
詳細については,「9.1 入力時のオーバフローをステータスで返す機能」を参照してください。
- -chkchar
-
XMLドキュメントの入出力時に不当な文字のチェック範囲を拡張します。
詳細については,「9.2 入出力時に不当な文字をチェックする機能」を参照してください。
- -gen 生成アクセスルーチンキーワード
-
生成アクセスルーチンキーワードに指定したXMLアクセスルーチンだけを生成します。
詳細については,「4.1.2 -genオプション」を参照してください。
- -outencoding エンコーディングキーワード
-
XMLアクセスルーチンで出力するXMLドキュメントの文字エンコーディングを指定します。指定できるエンコーディングキーワードは,sjis,euc,utf8,utf16,utf16beまたはutf16leです。大文字は指定できません。エンコーディングキーワードと出力するXMLドキュメントの文字エンコーディングの対応を次に示します。詳細については,「付録G.1 表G-3 出力するXMLドキュメントの文字エンコーディングの設定方法」を参照してください。
エンコーディングキーワード
出力するXMLドキュメントの文字エンコーディング(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,リトルエンディアン
- -unisrc
-
Unicode機能に対応したXMLアクセスルーチンを生成します。詳細については,「付録H Unicode機能」を参照してください。
- -bigendianbin(Windows,Linuxの場合)
-
XMLデータに対応する2進形式の数字項目をビッグエンディアン形式として扱う場合に指定します。詳細については,「4.1.4 -bigendianbinオプション(Windows,Linuxの場合)」を参照してください。
- -bigendianfloat(Windows,Linuxの場合)
-
XMLデータに対応する浮動小数点形式の数字項目をビッグエンディアン形式として扱う場合に指定します。詳細については,「4.1.5 -bigendianfloatオプション(Windows,Linuxの場合)」を参照してください。
- cblxmlコマンドの戻り値
-
戻り値
内容
0
正常終了した。
1
正常終了した。
ただし,警告メッセージが出力されている。
2
エラー終了した。
- 指定例
cblxml data.cxd -dtd data.xml -o subprog.cbl
DTD「data.xml」とDDF「data.cxd」の定義を基に,XMLアクセスルーチンの副プログラムファイル「subprog.cbl」とXMLアクセス用データ定義の登録集原文ファイル「subprog-COPY.cbl」が生成されます。
- 注意事項
-
-
cblxmlコマンドによって生成されたCOBOL副プログラム(XMLアクセスルーチン),および登録集原文(XMLアクセス用データ定義)の内容を編集しないでください。これらのファイルを編集した場合,実行時の動作は保証しません。
-
cblxmlコマンドでは,生成するCOBOL副プログラム(XMLアクセスルーチン),および登録集原文(XMLアクセス用データ定義)の領域の大きさについて,COBOL2002コンパイラの制限を超えたかどうかをチェックしません。コンパイラの制限値については,マニュアル「COBOL2002 使用の手引 手引編」または「COBOL2002 ユーザーズガイド」を参照してください。
-