XML-SAX イベント処理プロシージャー

イベント処理プロシージャーは、ユーザー作成のプロトタイプ・プロシージャーです。 以下の戻りの型およびパラメーターが必要です。

パラメーター数または戻り値 データ型および引き渡しモード 説明
戻り値 4 バイト整数 (10I 0) 戻り値がゼロの場合、構文解析が継続することを示します。 戻り値がその他の値の場合、構文解析が終了することを示します。
1 - 通信域 任意の型、参照による受け渡し XML-SAX 命令とハンドラーの間、およびハンドラーの連続呼び出しの間の通信に使用される。
2 - イベント 4 バイト整数 (10I 0)、値による受け渡し パーサーにより発見された XML イベント。 *XML_START_ELEMENT などの特殊語を使用して、処理プロシージャー内のイベントを識別できます。 XML イベントを参照してください。
3 - データ ポインター (*)、値による受け渡し パラメーターがイベントに関係ない場合、値は *NULL になります。 それ以外は、イベントのデータへのポインターになります。 *XML_UCS2_REF および *XML_ATTR_UCS2_REF イベントの場合、データは常に UCS-2 データです。 その他のすべてのイベントの場合、データは %XML 組み込み関数の "ccsid" オプションにより指定された CCSID のデータです。
4 - 長さ 8 バイト整数 (20I 0)、値による受け渡し ほとんどのイベントでは、この値は第 3 パラメーターによりポイ ントされたデータの長さ (バイト単位) です。 このパラメーターが特定のイベントに関係ない場合、値は -1 になります。 %XML 組み込み関数の "ccsid" オプションによりデータが UCS-2 で戻されている場合は、この値を 2 で除算し、UCS-2 文字の数を取得する必要があります。

*XML_EXCEPTION イベントの場合、このパラメーターはエラー発生時に構文解析されていた文書の長さになります。

5 - 例外 ID 4 バイト整数 (10I 0)、値による受け渡し 例外 ID。 *XML_EXCEPTION 以外のすべてのイベントの場合、このパラメーターの値はゼロになります。 WebSphere Development Studio: ILE RPG プログラマーの手引きの XML 戻りコードのセクションを参照してください。

%HANDLER について詳しくは、%HANDLER (handlingProcedure : communicationArea )を参照してください。

図 387. XML-SAX 処理プロシージャーのプロトタイプの例
D saxHandler      pr            10i 0       
D   commArea                          likeds(myCommArea)  
D   event                       10i 0 value 
D   string                        *   value 
D   stringlen                   20i 0 value 
D   exceptionId                 10i 0 value