XML 文書を構文解析するには、XML 文書がデータ項目に入っている場合は、 次の例のように XML PARSE ステートメントを使用します。
XML PARSE XMLDOCUMENT ING PROCEDURE XMLEVENT-HANDLER ON EXCEPTION DISPLAY 'XML document error ' XML-CODE STOP RUN NOT ON EXCEPTION DISPLAY 'XML document was successfully parsed.' END-XML
XML PARSE ステートメントでは、最初に、 XML 文書の文字ストリームを含むデータ項目 (この例では、XMLDOCUMENT) を識別します。 DATA DIVISION では、ID を英数字データ項目または国別データ項目として宣言できます。 英数字の場合は、その内容は、サポートされている EBCDIC または ASCII の 1 バイト文字セットの 1 つで エンコードされていなければなりません。 国別データ項目の場合は、その内容は Unicode UCS-2 CCSID 13488 でエンコードされていなければなりません。 エンコード宣言を含まない英数字の XML 文書は、COBOL ソース・メンバーの CCSID で構文解析されるか、 COBOL ソースが IFS ストリーム・ファイルにある場合は、ストリーム・ファイルの CCSID が使用されます。
次に、文書からの XML イベントを処理するプロシージャーの名前 (例では、XMLEVENT-HANDLER) を 指定します。
加えて、以下の命令ステートメントの片方または両方が、構文解析の終 わりに制御を受け取るように指定できます。
XML PARSE ステートメントを、END-XML で終了することができます。 XML PARSE ステートメントを条件ステートメントまたは 他の XML PARSE ステートメント内にネストするには、 この範囲終了符号を使用します。
以下のいずれかが発生するまで、XML パーサーと処理プロシージ ャーの間の制御のやり取りは続きます。
関連作業
XML 文書のエンコード方式の理解
関連リファレンス
『XML PARSE ステートメント』(「ILE COBOL 言語解説書」)
『制御フロー』(「ILE COBOL 言語解説書」)
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.