Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


XML 文書の構文解析

XML 文書を構文解析するには、XML PARSE ステートメントを使用して、構文解析する XML 文書、および構文解析時に発生する XML イベントの処理用プロシージャーを指定します。 また、必要に応じて構文解析終了後に行うアクションを指定することができます。

XML PARSE XMLDOCUMENT
    PROCESSING 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 を宣言することができます。 国別の 場合は、Unicode UTF-16LE、CCSID 1202 で その内容をエンコードする必要があります。英数字データ項目の場合は、サポートされている 1 バイトの EBCDIC または ASCII 文字セットのいずれかで内容をエンコードする必要があります。詳しくは、以下の関連参照資料のコード化文字セットについての説明を参照してください。

CHAR(EBCDIC) コンパイラー・オプションが有効である場合に、項目が英数字データ項目を記述している場合は、ID のデータ記述記入項目で NATIVE キーワードを指定しないでください。CHAR(EBCDIC) が有効で、ID が英数字である場合、 ID の内容は EBCDIC でエンコードされているはずです。

エンコード宣言を含まない ASCII XML 文書の構文解析には、現行のランタイム・ロケールによって示されたコード・ページを使用します。エンコード宣言を含まない EBCDIC XML 文書の構文解析には、EBCDIC_CODEPAGE 環境変数で指定されたコード・ページを使用します。EBCDIC_CODEPAGE 環境変数が設定されていない場合は、現行のランタイム・ロケールに対して選択された、デフォルトの EBCDIC コード・ページを使用して構文解析が行われます。

XML 宣言: 構文解析する文書に XML 宣言が含まれている場合、宣言は文書の先頭バイトから開始していなければなりません。 ストリング <?xml が文書の先頭バイトより後から開始されている場合、パーサーは例外コードを生成します。XML 宣言でコーディングする属性名は、すべて小文字で指定する必要があります。

次に、文書から検出した XML イベントを処理するプロシージャーの名前 (この例では XMLEVENT-HANDLER) を指定します。

さらに、構文解析の終了時に制御を受け取る以下の句のいずれかまたは両方を指定できます。

XML PARSE ステートメントを終了するには、明示範囲終了符号の END-XML を使用します。END-XML を使用して、条件ステートメント (例えば、別の XML PARSE ステートメントまたは XML GENERATE ステートメント) 内で ON EXCEPTION 句または NOT ON EXCEPTION 句を使用する XML PARSE ステートメントをネストできます。

パーサーは、XML イベントごとに処理プロシージャーに制御を渡します。処理プロシージャーの終わりに到達すると、制御がパーサーに戻されます。XML パーサーと処理プロシージャー間での制御の受け渡しは、以下のイベントのいずれかが発生するまで継続します。

特殊レジスター: XML-EVENT 特殊レジスターを使用して、パーサーが処理プロシージャーに渡したイベントを判別します。XML-EVENT には、'START-OF-ELEMENT' などのイベント名が入ります。 パーサーは、XML PARSE ステートメントに指定された XML ID のタイプに基づいて、特殊レジスター XML-TEXT または XML-NTEXT に入っているイベントの内容を渡します。

関連タスク
XML 文書のエンコード方式についての理解
XML を処理するためのプロシージャーの作成
ロケール付きのコード・ページの指定

関連参照
サポートされるロケールおよびコード・ページ
XML 文書のコード化文字セット
XML-EVENT の内容
XML PARSE ステートメント (「COBOL for Windows 言語解説書」)


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)