4.2.2 CBLXML-OP-Interfaceアクセスルーチン
CBLXML-OP-Interfaceアクセスルーチンは,ファイル上のXMLドキュメントを開くためのアクセスルーチンです。このアクセスルーチンで開いたXMLドキュメントは,CBLXML-RD-Interface-BaseElementアクセスルーチンやCBLXML-WR-Interface-BaseElementアクセスルーチンを使ってデータを読み書きできます。
- 形式
CALL 'CBLXML-OP-Interface' USING XML-FILE-NAME XML-FILE-NAME-LENGTH XML-MODE XML-POINTER RETURNING CBLXML-RETURN-CODE.
- 引数
-
引数のデータ型
指定
説明
01 XML-FILE-NAME
USAGE POINTER.
○
開くXMLドキュメントのファイル名を指すポインタを指定する。
01 XML-FILE-NAME-LENGTH
PIC 9(9) COMP.
○
開くXMLドキュメントのファイル名の長さを指定する。
01 XML-MODE PIC X(16).
○
XMLドキュメントのアクセスモード※を指定する。
01 XML-POINTER
USAGE POINTER.
△
アクセスモードに'E'を指定しない場合,開いたXMLドキュメントのポインタが返される。
XMLドキュメントを開くことに失敗した場合,ポインタの値は保証しない。
○
アクセスモードに'E'を指定した場合,CBLXML-CREATE-XML-POINTERサービスルーチンで作成したXMLドキュメントのポインタを指定する。
01 CBLXML-RETURN-CODE
PIC 9(9) COMP.
△
ステータスが返される。詳細については,「7.3 XMLアクセスルーチンが返すステータス」を参照のこと。
- (凡例)
-
○:アクセスルーチンの呼び出し時,値を設定しておく項目
△:アクセスルーチンの完了時,値が設定される項目
- 注※
-
指定できるアクセスモード文字列を示します。括弧内の文字は省略できます。また,順不同です。
-
R〔V〕〔N〕〔E〕
-
W〔E〕
-
U〔V〕〔N〕〔E〕
アクセスモード文字列と意味
文字列
意味
R
読み取りモード
W
書き込みモード
U
更新モード
V
妥当性チェックをする。妥当性チェック機能については,「7.2.8 入力XMLドキュメントの妥当性チェック機能」を参照のこと。
N
外部エンティティ参照を展開しない。
E
エラー情報取得機能や公開識別子を使用するために,サービスルーチンの設定を引き継ぐ。エラー情報取得機能や公開識別子については「9.3.2 エラー情報の取得」と「9.3.3 公開識別子が指定されたXMLドキュメント」を参照のこと。
-
- 規則
-
-
引数XML-MODEには,1バイト目からアクセスモードを示す文字を指定し,残りの領域には空白を指定します。
-
XMLドキュメントを開くことに成功した場合,取得したXMLドキュメントのポインタを用いてCBLXML-CL-Interfaceアクセスルーチン,またはCBLXML-CN-InterfaceアクセスルーチンでXMLドキュメントを閉じなければなりません。
-
CBLXML-OP-Interfaceアクセスルーチンは,開こうとしているXMLドキュメントがすでに開かれているかどうかチェックしません。すでに開かれているXMLドキュメントに対してCBLXML-OP-Interfaceアクセスルーチンを実行すると,そのXMLドキュメントに対する新しいXMLドキュメントのポインタが返されます。
-
読み取りモードまたは更新モードでは,アクセスモードに'V'と'N'を同時に指定できません。同時に指定したとき,あとに指定した文字列が有効となります。
-
アクセスモードに'N'を指定したとき,外部エンティティ参照の該当する個所にはテキストデータがないものとして解析します。
-
環境変数CBLXML_PARSE_NOXXEに'YES'を指定した場合,アクセスモードに'V'を指定していても,入力XMLドキュメントの妥当性チェック機能は無効となります。詳細については,「付録E.4 使用できる解析モードによる動作の違い」を参照してください。
-
- 注意事項
-
CBLXML-OP-Interfaceアクセスルーチンが返すステータスが110の場合は,CBLXML-GET-ERRORサービスルーチンを使用して詳細なエラー情報を取得できます。詳細については,「9.3.2 エラー情報の取得」を参照してください。