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


XML 出力の生成

COBOL データを XML に変換するには、XML GENERATE ステートメントを使用してください。

XML GENERATE XML-OUTPUT FROM SOURCE-REC
      COUNT IN XML-CHAR-COUNT
  ON EXCEPTION
    DISPLAY 'XML generation error ' XML-CODE
    STOP RUN
  NOT ON EXCEPTION
    DISPLAY 'XML document was successfully generated.'
END-XML

XML GENERATE ステートメントでは、XML 出力を受け取るデータ項目 (上の例では XML-OUTPUT) をまず識別します。データ項目は、生成された XML 出力を格納できる十分な大きさに定義します。通常、データ名の長さに応じて、COBOL ソース・データ・サイズの 5 倍から 8 倍に定義します。

DATA DIVISION では、受信 ID を、英数字 (英数字グループ項目またはカテゴリー英数字の基本項目のどちらか) として、あるいは国別 (国別グループ項目またはカテゴリー国別の基本項目のどちらか) として宣言できます。

外部コード・ページがマルチバイト・コード・ページの場合、あるいは以下の特性のいずれかを持つ COBOL ソース・レコードからのデータが XML 出力に含まれることになる場合、受信 ID は国別でなければなりません。

受信データ項目が英数字の場合、コンパイル時ロケールおよび実行時ロケールによって示されたコード・ページが同一でなければなりません。

次に、XML フォーマットに変換されるソース・データ項目 (この例では SOURCE-REC) を識別します。 ソース・データ項目は、英数字グループ項目、国別グループ項目、あるいはクラス英数字または国別の基本データ項目にすることができます。 このデータ項目のデータ記述の中に RENAMES 文節を指定しないでください。

ソース・データ項目が英数字グループ項目または国別グループ項目である場合、ソース・データ項目は、基本項目としてではなく、グループ・セマンティクスで処理されます。 ソース・データ項目に従属するグループもすべてグループ・セマンティクスで処理されます。

COBOL データ項目の中には、XML に変換されず無視されるものがあります。 XML に変換する英数字グループ項目または国別グループ項目の従属データ項目は、次のような場合は無視されます。

ソース・データ項目の中の次のような項目も、XML の生成時に無視されます。

XML 生成時に無視されない少なくとも 1 つの基本データ項目がなければなりません。無視されないデータに関しては、DATA DIVISION 内で宣言する際に、XML に変換される ID が次の条件を満たすようにしてください。

XML 宣言は生成されません。XML を読みやすくするために空白文字 (例えば、改行または字下げ) が挿入されることはありません。

必要に応じて、COUNT IN 句をコーディングして、XML 出力の生成時に充てんされる XML 文字位置の数を取得できます。 カウント・フィールドは、PICTURE ストリング内に記号 P を持たない整数データ項目として宣言します。カウント・フィールドおよび参照変更を使用して、生成された XML 出力を含む受け取りデータ項目の一部のみを取得できます。例えば、XML-OUTPUT(1:XML-CHAR-COUNT) は、XML-OUTPUT の最初の XML-CHAR-COUNT 文字位置を参照します。

さらに、XML 文書の生成後に制御を受け取るために、以下の句のいずれかまたは両方を指定できます。

XML GENERATE ステートメントを終了するには、明示範囲終了符号の END-XML を使用します。条件ステートメントで ON EXCEPTION または NOT ON EXCEPTION 句を指定している XML GENERATE ステートメントをネストするには、END-XML をコーディングします。

XML への COBOL ソース・レコードの変換が完了するか、またはエラーが発生するまで、XML 生成は継続します。 エラーが発生した場合、結果は次のようになります。

XML 生成時にエラーが発生しなかった場合、特殊レジスター XML-CODE にはゼロが入り、制御は、NOT ON EXCEPTION 句が指定されている場合はこの句に、指定されていない場合は XML GENERATE ステートメントの最後に渡されます。

例: XML の生成

関連タスク
生成される XML 出力のエンコードの制御
XML 出力生成時のエラーの処理

関連参照
サポートされるロケールおよびコード・ページ
データのクラスおよびカテゴリー (「COBOL for Windows 言語解説書」)
XML GENERATE ステートメント (「COBOL for Windows 言語解説書」)
XML GENERATE の操作 (「COBOL for Windows 言語解説書」)
Extensible Markup Language (XML)


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

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