XML 文書の中にエラーがあるのを検出すると、XML パーサーは XML 例外イベントを生成し、制御を処理プロシージャーに渡します。
パーサーは、以下の情報を特殊レジスターに入れて提供します。
数値の例外コードが以下のいずれかの範囲にある場合は、処理プロシージャー内で例外を処理し、構文解析を続けることができます。
例外コードがその他のゼロ以外の値である場合は、構文解析を続けることはできません。 エンコード方式の矛盾の例外 (50 から 99 および 300 から 399) は、文書の構文解析が開始される前にシグナル通知されます。このような例外の場合、XML-TEXT (または XML-NTEXT) は長さがゼロになるか、文書のエンコード宣言値のみが入ります。
1 から 49 の範囲の例外は XML 仕様に基づく致命的エラーです。したがって、ユーザーが例外を処理しても、パーサーは通常の構文解析を続けることはできません。ただし、パーサーでは、文書の終わりに到達するまで、あるいは継続不能の原因となるエラーが検出されるまで、その他のエラーの走査を続けます。このような例外の場合、パーサーでは、END-OF-DOCUMENT イベント以外については、追加の標準イベントをシグナル通知しません。
次の図では、パーサーと処理プロシージャーの間の制御フローをわかりやすく示しています。この図は、特定の例外の処理方法および XML-CODE を使用した例外の識別方法を示しています。別ページとの接続記号 (例えば、
)
は、この情報によって複数のチャートを接続します。特に、
は接続先のチャートとして XML CCSID 例外のフロー制御に接続します。この図内で、
および
の両方は、別ページとの接続記号、およびページ内の接続記号として働いています。

関連タスク
XML 文書のエンコード方式についての理解
XML パーサーが検出する例外の処理
コード・ページの矛盾の処理
XML 構文解析の終了
関連参照
継続を許可する XML PARSE 例外
継続を許可しない XML PARSE 例外
XML-CODE
(「COBOL for Windows 言語解説書」)