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


XML を処理するためのプロシージャーの作成

処理プロシージャーには、XML イベントを処理するためのステートメントをコーディングします。

パーサーは、イベントを検出すると、次の表に示す特殊レジスター内の処理プロシージャーに情報を渡します。これらのレジスターは、データ構造の取り込みと、処理の制御に使用します。

これらの特殊レジスターがネストされたプログラムで使用された場合は、最外部のプログラムで GLOBAL として暗黙的に定義されます。

表 47. XML パーサーが使用する特殊レジスター
特殊レジスター 内容 暗黙的な定義および使用法
XML-EVENT1,3 XML イベントの名前 PICTURE X(30) USAGE DISPLAY
VALUE SPACE
XML-CODE2 各 XML イベント用の例外コードまたはゼロ PICTURE S9(9) USAGE BINARY
VALUE ZERO
XML-TEXT1,4 XML PARSE ID として英数字項目を指定した場合は、XML 文書のテキスト (パーサーが検出したイベントに対応) 可変長基本カテゴリー英数字項目。 サイズ制限 2,147,483,646 バイト。
XML-NTEXT1 XML PARSE ID として国別項目を指定した場合は、XML 文書のテキスト (パーサーが検出したイベントに対応) 可変長基本カテゴリー国別項目。 サイズ制限 2,147,483,646 バイト。
  1. この特殊レジスターを受け取りデータ項目として使用することはできません。
  2. XML GENERATE ステートメントでも XML-CODE が使用されます。したがって、処理プロシージャー内で XML GENERATE ステートメントをコーディングする場合、XML GENERATE ステートメントの前に XML-CODE の値を 保存し、 XML GENERATE ステートメントの後に保存した値をリストアします。
  3. この特殊レジスターの内容は、 CHAR コンパイラー・オプション (EBCDICNATIVE、または S390) の設定に従ってエンコードされます。
  4. XML-TEXT の内容は、以下のようにソース XML 文書のエンコードに依存します。
    • ソース XML 文書が EBCDIC でエンコードされている場合、XML-TEXT の内容は EBCDIC でエンコードされます。
    • ソース XML 文書が NATIVE 英数字データ項目の ASCII でエンコードされている場合、XML-TEXT の内容は ASCII でエンコードされます。ただし、XML-TEXT の ASCII による内容は、以下のように EBCDIC に変換することができます。

      Function DISPLAY-OF(Function NATIONAL-OF(XML-TEXT 819))

制約事項: 処理プロシージャーで、XML PARSE ステートメントを直接実行してはなりません。 ただし、INVOKE または CALL ステートメントを使用して、処理プロシージャーからメソッドまたは最外部のプログラムに制御が渡る場合、ターゲットとなるメソッドまたはプログラムは同一または別の XML PARSE ステートメントを実行できます。複数のスレッドで実行されているプログラムから、同一または別の XML ステートメントを同時に実行することもできます。

コンパイラーは、各処理プロシージャーの最後のステートメントの後に、戻り機構を挿入します。 処理プロシージャーに STOP RUN ステートメントをコーディングすると、実行単位を終了させることが できます。ただし、EXIT PROGRAM ステートメント (CALL ステートメントがアクティブの場合) または GOBACK ステートメントは、パーサーに制御を戻しません。 処理プロシージャー内でこれらのステートメントを使用すると、重大エラーが発生する原因となります。

例: XML の構文解析

関連概念
XML-CODE の内容
XML-TEXT および XML-NTEXT の内容

関連タスク
XML テキストを COBOL データ項目に変換する
国別 (Unicode) 表現との間の変換

関連参照
継続を許可する XML PARSE 例外
継続を許可しない XML PARSE 例外
XML-CODE (「COBOL for Windows 言語解説書」)
XML-EVENT (「COBOL for Windows 言語解説書」)
XML-NTEXT (「COBOL for Windows 言語解説書」)
XML-TEXT (「COBOL for Windows 言語解説書」)


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

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