XML EXPORT TEXT

この文には次のパラメーターがあります。

パラメーター 説明
DataItem エクスポートするデータを含む COBOL データ項目の識別子。エクスポートするデータのモデル テンプレート ファイルの記述を生成したものと必ずしも同じデータ項目である必要はありませんが、少なくとも記述されたものと同じ大きさである必要があります。この識別子は、エクスポートを行うサブプログラムに渡された連絡データ項目を参照することがあります。この識別子は、アプリケーションにエクスポート領域のテーブルがある場合に、必要な添字付けまたは索引付けで指定されたテーブル要素の識別子にすることもできます。
DocumentPointer この文が正常に完了した後に、生成された XML ドキュメントを文字列として参照する COBOL ポインター データ項目の識別子。
DocumentLength この文が正常に完了した後に、生成された XML ドキュメント (DocumentPointer によって参照される) の長さが含まれる COBOL 数値データ項目の識別子。
ModelFileName#DataName 文字リテラルまたは英数字データ項目の識別子。この値は、次のいずれかです。
  • データ構造の名前。シャープ (#) が含まれていない場合は、パラメーターの先頭にある (指定した名前はデータ項目名である) と見なされます。

    「#」の左側はすべてファイル名で、右側はすべてデータ構造名です。いずれもオプションであるため、"name#"、"data"、"#data"、"#"、"" のすべてが許容されます。ファイル名を省略した場合、XML COBOL FILE-NAME 文でデフォルトが指定されていなければ、現在のプログラムが使用されます。データ名が見つからない場合は、呼び出し元のプログラムが (呼び出しスタックの順に) 使用されます。

    データ名はモデル テンプレート ファイル内に存在している必要があります。その記述では、文の最初のパラメーターで指定した DataItem よりも大きな領域を記述してはなりません。記述した場合、プログラムの実行中にエラー 74 が発生する可能性があります。このパラメーターでデータ名を省略した場合は、プログラムのデータ定義全体がモデル テンプレート ファイルで指定されたとおりに使用されます。

    ModelFileName パラメーターに「#」が含まれていない場合は、先頭にある (ModelFileName はデータ名である) と見なされます。

    さらに、データ名を階層で指定することもできます。したがって、"a//b//c" は有効で、COBOL で "C of B of A" と指定した場合と同じ意味になります。データ名の階層ではデータ名とプログラム名のどちらでも指定できるため、A と B はプログラムの名前である可能性があります (B が A に含まれているプログラムである場合)。

  • XMLGEN コンパイラ指令によって生成される、COBOL データ項目を記述する XML ファイルの名前。詳細については、「Model Files」を参照してください。
[StyleSheetName] 文字リテラルまたは英数字データ項目の識別子。この値は、生成された XML ドキュメントを格納前に変換するために使用する XSLT スタイルシートを含むファイルの名前です。

説明

XML EXPORT TEXT 文は、DataItem パラメーターで指定した COBOL データ項目の内容をエクスポートします。データ項目の内容は、ModelFileName#DataName パラメーターで指定した 1 つ以上のファイルを使用して XML ドキュメントに変換され、文字列として出力されます。その文字列のアドレスおよびサイズが、DocumentPointer パラメーターと DocumentLength パラメーターで指定した COBOL データ項目に配置されます。オプションの StyleSheetName パラメーターを指定した場合は、その外部 XSLT スタイルシートを使用してドキュメントが変換されます。この変換は、ドキュメントが生成された後、文字列として格納される前に行われます。

生成された XML ドキュメントを保持するためのメモリ ブロックが割り当てられます。COBOL ポインター データ項目の既存のアドレス記述子は、このメモリ ブロックの記述子によってオーバーライドされます。このメモリが不要になったら、COBOL アプリケーションで XML FREE TEXT を使用して解放する必要があります。

XML-data-group というデータ項目に状態値が返されます。このデータ項目はコピーブック lixmldef.cpy に定義されています。

外部 XSLT スタイルシートを指定しない場合:

XML EXPORT TEXT
    MY-DATA-ITEM
    MY-DOCUMENT-POINTER
    MY-DOCUMENT-LENGTH
    "MY-MODEL-FILE".
IF NOT XML-OK GO TO Z.

外部 XSLT スタイルシートを指定する場合:

XML EXPORT TEXT
    MY-DATA-ITEM
    MY-DOCUMENT-POINTER
    MY-DOCUMENT-LENGTH
    "MY-MODEL-FILE"
    "MY-STYLE-SHEET" 
IF NOT XML-OK GO TO Z.

外部 XSLT スタイルシートとパラメーターを指定する場合:

XML SET XSL-PARAMETERS
     "MY-COUNT", 7.
IF NOT XML-OK GO TO Z.
XML EXPORT TEXT
    MY-DATA-ITEM
    "MY-DOCUMENT.XML"
    "MY-MODEL-FILE"
    "MY-STYLE-SHEET"
IF NOT XML-OK GO TO Z.