1. XML GENERATE

XML GENERATEステートメントは、データをXML形式に変換します。

figure pd xml generate
Figure 1. XML GENERATEステートメントの形式

以下は、ステートメントの各設定項目についての説明です。

  • identifier-1

    • 作成されたXML文書を受け取る領域です。

    • identifier-1は次のいずれかを参照する必要があります。

      • 基本英数字データ項目

      • 英数字グループ項目

      identifier-1が英数字グループ項目を参照する場合、identifier-1は基本英数字データ項目であるかのように扱われます。

      identifier-1はJUSTIFIED節を含むデータや関数識別子になることはできませんが、添え字や参照変更を持つことはできます。identifier-1はidentifier-2、identifier-3と重複してはなりません。

      identifier-1は作成されたXML文書を含めるほど十分に大きい必要があります。一般的にidentifier-2のデータ名またはデータ名の長さによって、identifier-2のサイズの5倍から10倍のサイズを使用することが望ましいです。もしidentifier-1が十分に大きくない場合は、XML GENEARTEステートメントの最後にエラー条件が存在します。

  • identifier-2

    • XML形式に変換される基本データ項目またはグループ項目です。

    • identifier-2は関数識別子であったり、参照変更を持つことはできませんが、添え字は持つことができます。identifier-2はidentifier-1、identifier-3と重複してはなりません。identifier-2はRENAMES節を指定できません。

      identifier-2で指定された以下のようなデータ項目は、XML GENERATEステートメントで無視されます。

      • 従属する名前のない基本データ項目または基本FILLERデータ項目

      • SYNCHRONIZED項目に挿入された任意の余裕バイト

      • REDEFINES節で記述されたり、このように再定義された項目に従属するすべてのデータ項目

      • RENAMES節で記述した項目に従属するすべてのデータ項目

      • 下位データ項目がすべて無視されるすべてのグループ・データ項目

    • 上記の規則に従って無視されない、identifier-2によって指定されたすべてのデータ項目は次の条件を満たす必要があります。

      • それぞれの基本データ項目は英字、英数字、数字、または指標データ項目である必要があります。

      • このような基本データ項目が1つ以上存在する必要があります。

      • FILLERでないデータ名はネストされたグループ・データ項目内で一意の名前を持つ必要があります。

      • データ項目はDATA FORMAT節を指定できません。

  • identifier-3

    • COUNT IN句を指定した場合、identifier-3はXML GENERATEステートメントの実行後に作成されたXML文字のエンコーディングでのカウントを含みます。一般的にカウントはバイト単位です。

    • identifier-3はPICTURE文字列の記号Pなしに定義される整数データ項目である必要があります。identifier-3はidentifier-1、identifier-2と重複してはなりません。

  • ON EXCEPTION句

    • XML文書の作成中にエラーが発生した場合、例外条件があります。たとえば、identifier-1が作成されたXML文書を含むほど大きくない場合は、XMLの作成が中止され、identifier-1の内容は定義されません。もしCOUNT IN句が指定されていれば、idientifier-3は0からidentifier-1の長さまでの範囲で作成された文字位置のカウントを含みます。

    • ON EXCEPTION句を指定した場合、制御はimperative-statement-1に転送されます。ON EXCEPTION句を指定していない場合は、NOT ON EXCEPTION句が存在しても無視され、制御はXML GENERATEステートメントの最後に転送されます。

  • NOT ON EXCEPTION句

    • NOT ON EXCEPTION句を指定した場合、XML文書の作成中に例外条件が発生しなければ、制御はimperative-statement-2に転送され、例外条件が発生したら、XML GENERATEステートメントの最後に転送されます。ON EXCEPTION句を指定した場合は無視されます。

  • END-XML句

    • XML GENERATEステートメントまたはXML PARSEステートメントの最後を示します。