XML-SAX 処理手順のデバッグ

XML-SAX イベント処理手順に渡される 2 番目のパラメーターは、どの SAX イベントがパーサーで発見されたかを示す数値です。

RPG コードでは、*XML_START_ELEMENT および *XML_DOCTYPE_DECL のような特殊値を使用して、イベント値をテストすることができます。

ただし、この特殊値はデバッガーでは使用不可です。代わりに、制御仕様に DEBUG(*XMLSAX) キーワードをコード化する場合に使用可能にされる特殊な配列を使用することができます。配列の名前は _QRNU_XMLSAX です。 配列エレメントの値は、先頭の "*XML_" を引いた、特殊語の名前と同じです。

例えば、XML-SAX イベント処理手順の 2 番目のパラメーターの名前が "xmlEvent" の場合、以下のデバッガー式を使用して、イベントの名前を決定します。

EVAL _QRNU_XMLSAX(xmlEvent)

Result: _QRNU_XMLSAX(XMLEVENT) = 'START_DOCUMENT      '

イベント・ハンドラーに渡される 3 番目のパラメーターは、データへのポインターです。ポインターがアドレス指定するデータの表示を参照し、4 番目のパラメーターの値を使用して、バイト単位でのデータの長さを決定します。

「例外」イベントの場合、5 番目のパラメーターは、構文解析例外に関連するエラー・コードを保持します。 エラー・コードの意味については、XML 文書の処理を参照してください。