Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


XML パーサーによるエラーの処理方法

XML 文書の中にエラーがあるのを検出すると、XML パーサーは XML 例外イベントを生成し、制御を処理プロシージャーに渡します。

パーサーは、以下の情報を特殊レジスターに入れて提供します。

数値の例外コードが以下のいずれかの範囲にある場合は、処理プロシージャー内で例外を処理し、構文解析を続けることができます。

例外コードがその他のゼロ以外の値である場合は、構文解析を続けることはできません。 エンコード方式の矛盾の例外 (50 から 99 および 300 から 399) は、文書の構文解析が開始される前にシグナル通知されます。このような例外の場合、XML-TEXT (または XML-NTEXT) は長さがゼロになるか、文書のエンコード宣言値のみが入ります。

1 から 49 の範囲の例外は XML 仕様に基づく致命的エラーです。したがって、ユーザーが例外を処理しても、パーサーは通常の構文解析を続けることはできません。ただし、パーサーでは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーが検出されるまで、その他のエラーの走査を続けます。このような例外の場合、パーサーでは、END-OF-DOCUMENT イベント以外については、追加の標準イベントをシグナル通知しません。

次の図では、パーサーと処理プロシージャーの間の制御フローをわかりやすく示しています。この図は、特定の例外の処理方法および XML-CODE を使用した例外の識別方法を示しています。別ページとの接続記号 (例えば、 フローチャートの別ページとの接続記号。) は、この情報によって複数のチャートを接続します。特に、 別ページとの接続記号 C。 は接続先のチャートとして XML CCSID 例外のフロー制御に接続します。この図内で、 別ページとの接続記号 E。 および 別ページとの接続記号 C。 の両方は、別ページとの接続記号、およびページ内の接続記号として働いています。

XML 例外の制御フロー

この図は、前後の本文で説明されている XML 例外のフローチャートを表しています。

関連タスク
XML 文書のエンコード方式についての理解
XML パーサーが検出する例外の処理
コード・ページの矛盾の処理
XML 構文解析の終了

関連参照
継続を許可する XML PARSE 例外
継続を許可しない XML PARSE 例外
XML-CODE (「COBOL for Windows 言語解説書」)


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)