例外

大半の例外では、例外の検出場所まで (その場所を含む) が解析されたドキュメントの部分が、XML テキストに含まれています。解析の開始前に示される競合的例外の符号化では、XML テキストの長さがゼロか、またはドキュメントによる符号化宣言の値が XML テキストに含まれています。

例外の種類には次があります。

例外イベント機能からゼロ以外の戻りコードが返されると、通常はパーサがドキュメントの処理を停止して、PLISAXA または PLISAXB ビルトインを呼び出したプログラムに制御を戻す原因になります。

継続可能な例外では、例外イベント機能からゼロ戻りコードが返されると、さらに例外が発生する可能性があっても、ドキュメントの処理を続行するようにパーサに指示が伝わります。

100,001 から 165,535 と 200,001 から 265,535 の範囲の例外番号によって、特殊なケースが例外に適用されます。これらの例外コード範囲は、ドキュメントの CCSID (符号化宣言を含むドキュメントの開始部分を調べて判定される) が呼び出しビルトインによって (明示的または暗示的に) 提供される CCSID 値と同一でない (両方の CCSID が同じ基本的な符号化、EBCDIC または ASCII の CCSID であっても) ことを示します。これらの例外では、例外イベントに渡される例外コードには、ドキュメントの CCSID、そして EBCDIC CCSID には 100,000 または ASCII CCSID には 200,000 が含まれています。例えば、例外コードが 101,140 の場合、ドキュメントの CCSID は 01140 です。PLISAXA または PLISAXB ビルトインによって提供されるこの CCSID 値は、呼び出しで最後の引数として明示的に設定さ れるか、または最後の引数が省略され CODEPAGE コンパイラ・オプションの値が使用される場合に黙示的に設定されます。

これら CCSID 競合例外の例外イベント機能から戻された後の戻りコードの値に応じて、パーサは次のアクションのいずれかを実行します。