9.3.1 XMLサービスルーチンの初期処理と終了処理
XMLサービスルーチンを使用する機能のエラー情報取得機能や公開識別子では,XMLドキュメントを開く(CBLXML-OP-Interface,CBLXML-OB-Interface)アクセスルーチンの前に,XMLサービスルーチンの初期処理としてCBLXML-CREATE-XML-POINTERサービスルーチンを呼び出して空のXMLドキュメントのポインタを作成し,XMLドキュメントを閉じる(CBLXML-CL-Interface,CBLXML-CN-Interface)アクセスルーチンのあとにCBLXML-FREE-XML-POINTERサービスルーチンでXMLドキュメントのポインタを解放する必要があります。
次に,XMLサービスルーチンの初期処理と終了処理となるCBLXML-CREATE-XML-POINTERサービスルーチンとCBLXML-FREE-XML-POINTERサービスルーチンを説明します。
(1) CBLXML-CREATE-XML-POINTERサービスルーチン
CBLXML-CREATE-XML-POINTERサービスルーチンは,空のXMLドキュメントのポインタを割り当てます。このサービスルーチンは,エラー情報取得機能や公開識別子のカタログファイルの入力で使用します。
- 形式
-
CALL 'CBLXML-CREATE-XML-POINTER' USING XML-POINTER.
- 引数
-
引数のデータ型
指定
説明
01 XML-POINTER
USAGE POINTER.
○
XMLドキュメントのポインタを受け取るポインタ項目を指定する。
- (凡例)
-
○:サービスルーチンの呼び出し時,値を設定しておく項目
- 戻り値
-
戻り値
内容
0
正常終了した。
-1
操作を続けるためのメモリが不足した。
- 注
-
戻り値は,RETURN-CODE特殊レジスタに設定されます。
- 規則
-
-
XMLドキュメントのポインタ割り当てに成功した場合,CBLXML-FREE-XML-POINTERサービスルーチンでXMLドキュメントのポインタを解放しなければなりません。
-
CBLXML-CREATE-XML-POINTERサービスルーチンは,XMLドキュメントを開くアクセスルーチン(CBLXML-OP-Interface,CBLXML-OB-Interface)の前に呼び出さなければなりません。
-
CBLXML-CREATE-XML-POINTERサービスルーチンを呼び出すたびに,異なる空のXMLドキュメントのポインタを返します。
-
(2) CBLXML-FREE-XML-POINTERサービスルーチン
CBLXML-FREE-XML-POINTERサービスルーチンは,割り当てたXMLドキュメントのポインタを解放します。
- 形式
-
CALL 'CBLXML-FREE-XML-POINTER' USING XML-POINTER.
- 引数
-
引数のデータ型
指定
説明
01 XML-POINTER USAGE POINTER.
○
CBLXML-CREATE-XML-POINTERサービスルーチンで割り当てたXMLドキュメントのポインタを受け取るポインタ項目を指定する。
- (凡例)
-
○:サービスルーチンの呼び出し時,値を設定しておく項目
- 戻り値
-
戻り値
内容
0
正常終了した。
-1
CBLXML-FREE-XML-POINTERサービスルーチンの引数の値が不正である。
-2
XMLドキュメントを閉じていない状態で,CBLXML-FREE-XML-POINTERサービスルーチンを実行した。
- 注
-
戻り値は,RETURN-CODE特殊レジスタに設定されます。