Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


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

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

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

すべての他の XML 特殊レジスターは空で、長さゼロです。

XMLPARSE(XMLSS) の場合

XMLPARSE(XMLSS) が有効である場合には、 パーサーに戻る前に XML-CODE をゼロに設定しても、例外発生後に構文解析を続行することはできません。 処理プロシージャーからパーサーに戻ると、パーサーは、XML PARSE ステートメントの ON EXCEPTION 句が指定されている場合はその句に制御を渡します。 指定されていない場合には、パーサーは XML PARSE ステートメントの最後に制御を渡します。 XML-CODE には、パーサーが設定した元の例外コードが含まれます。

XMLPARSE(COMPAT) の場合

XMLPARSE(COMPAT) が有効である場合、 例外コードの数字が次の範囲のいずれかである場合には、処理プロシージャーで例外を処理して、構文解析を続行することができます。

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

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

関連概念
XML-CODE  

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

関連参照
継続を許可する XML PARSE 例外  
継続を許可しない XML PARSE 例外  
XMLPARSE
    


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

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