XML-CODE 特殊レジスター

XML-CODE 特殊レジスターは、以下の目的に使用されます。
  • XML パーサーと、XML PARSE ステート メントで識別された処理プロシージャー間で、状況を通信するため
  • XML GENERATE ステートメントが正常に実行されたか、XML 実行時に例外が発生したかを示すため

XML パーサーが XML-CODE を設定してから、パーサーの終了時に、各イベントごとに 制御が処理プロシージャーに転送されます。 XML-CODE をリセットしてから、制御 を処理プロシージャーから XML パーサーへ戻すことができます。

XML-CODE 特殊レジスターには、次の暗黙定義があります。

01 XML-CODE PICTURE S9(9) USAGE BINARY VALUE 0.

ネストされたプログラムの中で使用される際には、この特殊レジスタ ーは、最外部のプログラム内で、グローバル属性によって暗黙に定義されます。

XML パーサーは XML イベントを検出すると、XML-CODE を設定して から制御を処理プロシージャーに渡します。 EXCEPTION イベントを除くすべてのイベントに対して、処理 プロシージャーが制御を受け取った場合、XML-CODE はゼロを含んでいます。

EXCEPTION イベントに対して、パーサーは、XML-CODE を例外の性 質を示す例外コードに設定します。 例外コードについては、「ILE COBOL プログラマーの手引き」で詳しく説明しています。

以下のように、パーサーに戻る前に、XML-CODE を設定することがで きます。
  • -1 に設定すると、通常のイベント後、パーサーが EXCEPTION イベントを発生せずに終了することを示します。
  • ゼロに設定すると、継続が許可されている EXCEPTION イベント後、 パーサーが処理を続けることを示します。 パーサーは XML 文書の処理を続けようとしますが 、結果は未定義です。

XML-CODE をその他の値に設定してからパーサーに戻る場合、結果は 未定義です。

パーサーが制御を XML PARSE ステートメントに戻すと、XML-CODE は、 パーサーまたは処理プロシージャーのいずれかによって設定された最も 新しい値を含みます。

XML GENERATE ステートメントの終了時に、XML-CODE には、XML 生成の正常完了を示す 0、または XML 生成時に例外が発生したことを示すゼロ以外のエラー・コードが含まれます。XML GENERATE 例外コードは、「ILE COBOL プログラマーズ・ガイド」で説明されています。