ID-2 内の適格な各基本データ項目のコンテントは、基本データのフォーマット変換 および 生成された XML データのトリミング で説明されているような文字フォーマットに変換されます。各ストレージ域の最初の定義のみが処理されます。データ項目の再定義は含まれません。RENAMES 節で効果的に定義されたデータ項目も含まれません。
次に、変換されたコンテントは、XML マークアップで要素文字コンテントとして挿入されます。XML 要素名は、XML 要素名情報で説明されているように ID-2 内のデータ名から取得されます。選択された基本項目を含むグループ項目の名前は親要素として保存されます。生成された XML をより読みやすくするために、余分の空白 (改行、インデントなど) は挿入されません。XML 宣言は生成されません。
ID-1 で指定された受信領域が、作成された XML 文書を含むのに十分大きくない場合、エラー条件が存在します。詳細は、上述の ON EXCEPTION 句の説明を参照してください。
ID-1 が生成された XML 文書よりも長い場合、XML が生成される部分の ID-1 のみが変更されます。ID-1 の残りの部分には、この XML GENERATE ステートメントの実行前に入っていたデータがそのまま残ります。このデータを参照するのを避けるためには、ID-1 を XML GENERATE ステートメントの前のスペースに初期設定するか、COUNT IN 句を指定します。
COUNT IN 句が指定された場合、ID-3 には (XML GENERATE ステートメントの実行後)、生成された文字位置の総数 (UCS-2 エンコード単位またはバイト単位) が含まれます。 ID-3 を参照変更長さフィールドとして使用し、生成された XML 文書を含む部分の ID-2 を参照することができます。
XML GENERATE ステートメントの実行後、特殊レジスター XML-CODE は、正常な完了を示す 0 または、ゼロ以外の例外コードのいずれかを含みます。(詳しくは、「ILE COBOL プログラマーの手引き」も参照してください)。
XML PARSE ステートメントは、特殊レジスター XML-CODE も使用します。したがって、 XML PARSE ステートメントの処理手順で XML GENERATE ステートメントをコード化する場合は、その XML GENERATE ステートメントを実行する前に XML-CODE の値を保管し、XML GENERATE ステートメントの終了後に保管した値を復元します。