4.2.7 CBLXML-CN-Interfaceアクセスルーチン
CBLXML-CN-Interfaceアクセスルーチンは,書き込みモードで開いているXMLドキュメントを閉じ,出力したXMLドキュメント長を取得するためのアクセスルーチンです。
- 形式
CALL 'CBLXML-CN-Interface' USING XML-POINTER XML-LENGTH RETURNING CBLXML-RETURN-CODE.
- 引数
-
引数のデータ型
指定
説明
01 XML-POINTER
USAGE POINTER.
○
閉じるXMLドキュメントのポインタを指定する。CBLXML-OP-Interfaceアクセスルーチン,またはCBLXML-OB-InterfaceアクセスルーチンでXMLドキュメントを開いたときに取得したポインタを指定する。
01 XML-LENGTH
PIC 9(10) COMP.
△
出力したXMLドキュメントの長さが返される。
01 CBLXML-RETURN-CODE
PIC 9(9) COMP.
△
ステータスが返される。詳細については,「7.3 XMLアクセスルーチンが返すステータス」を参照のこと。
- (凡例)
-
○:アクセスルーチンの呼び出し時,値を設定しておく項目
△:アクセスルーチンの完了時,値が設定される項目
- 規則
-
-
CBLXML-CN-Interfaceアクセスルーチンが正常終了すると,XMLドキュメントが閉じられ,引数XML-LENGTHに出力したXMLドキュメントの長さが返されます。
-
引数XML-POINTERには,CBLXML-OP-Interfaceアクセスルーチン,またはCBLXML-OB-InterfaceアクセスルーチンでXMLドキュメントを開いたときに取得したポインタを指定します。
-
更新モードで開いたXMLドキュメントを更新しないでCBLXML-CN-Interfaceアクセスルーチンを呼び出した場合,CBLXML-CN-Interfaceアクセスルーチンは,XMLドキュメントが更新されていないことを示すステータス12(CBLXML-NO-UPDATE)を返します。その場合,XMLドキュメントの長さ(XML-LENGTH)には正常終了を示すステータス0(CBLXML-OK)が返ります。
-
読み取りモードで開かれたXMLドキュメントをCBLXML-CN-Interfaceアクセスルーチンで閉じた場合,引数XML-LENGTHには正常終了を示すステータス0(CBLXML-OK)が返されます。このとき,CBLXML-CN-Interfaceアクセスルーチンは,ステータス9(CBLXML-NOT-WRITTEN)を返します。
-
CBLXML-WR-Interface-BaseElementアクセスルーチンやCBLXML-CN-Interfaceアクセスルーチンが回復可能エラー,または致命的エラーを返した場合,引数XML-LENGTHに返される値は不定となります。
-
ドキュメントを書き込みモードで開いている場合,CBLXML-CN-Interfaceは,XMLドキュメントを閉じる前に終了タグを出力します。このとき,次のように必要な要素が補完されます。
- ドキュメント終了時の要素の補完
-
-
最後に書き出されたBaseElement要素とドキュメントの終わりの間に,さらにBaseElement要素が必要なとき,CBLXML-CN-Interfaceアクセスルーチンは,ステータス118(CBLXML-CANT-END-DOC)を返します。このとき,XMLドキュメントは,不完全な状態となります。正しいXMLドキュメントを生成するためには,必要なBaseElement要素を出力する必要があります。
-
最後に書き出されたBaseElement要素とドキュメントの終わりの間に,BaseElement要素に含まれない要素が必要なときは,その要素が空要素として出力されます。このとき,CBLXML-CN-Interfaceアクセスルーチンは,ステータス0(CBLXML-OK)を返します。
-
-
- 注意事項
-
XMLドキュメントの出力中にディスク容量の不足のエラーが発生したあと,そのXMLドキュメントを閉じた場合,CBLXML-CN-Interfaceアクセスルーチンで次に示すステータスを返します。
- (UNIXの場合)
-
XMLアクセスルーチンに指定した引数に誤りがあることを示すステータス114(CBLXML-INVALID-PARAMS)を返します。
- (Windowsの場合)
-
正常終了を示すステータス0(CBLXML-OK)を返します。