FILLER データ項目

名前のないデータ記述項 (このセクションでは FILLER データ項目と呼びます) を使用すると、新しい XML 要素名を設定せずに XML テキストを生成できます。名前付きのグループに従属する名前付きの基本データ項目および名前のない基本データ項目を指定すると、グループ名で指定された要素に対して XML 混合内容が生成されます。

数値 FILLER データ項目では、整形式の XML シーケンスが生成されない場合があります。この理由から、FILLER データ項目は常に文字 PIC X または PIC A にする必要があります。

たとえば、次のような COBOL シーケンスがあるとします。
 01 A.
 02 FILLER Value "ABC".
 02 B Pic X(5) Value "DEF".
 02 FILLER Value "GHI".
この場合、次の整形式の XML シーケンスが生成されます。
 <a>ABC<b>DEF</b>GHI</a>

ただし、FILLER データ項目は、名前付きのデータとは異なる方法で処理されます。すべての先行空白文字および後続空白文字が維持されるため、データの長さは COBOL データの長さと同じになります。詳細については、「XML での空白文字の処理」を参照してください。

また、データは PCDATA として処理されます。つまり、埋め込み XML 特殊文字は維持されます。これにより、"break" などの短い XHTML シーケンスを FILLER として表現できます (<br/> など)。XHTML (拡張ハイパーテキスト マークアップ言語) は HTML 4 に基づいていますが、XHTML ドキュメントも整形式の XML ドキュメントであることという制約があります。たとえば、次のような COBOL シーケンスがあるとします。
 01 A.
 02 FILLER Value "<br />".
 02 B Pic X(5) Value "DEF".
 02 FILLER Value "GHI".
この場合、次の整形式の XML シーケンスが生成されます。
<a><br /><b>DEF</b>GHI</a>
	 
結果の XML シーケンスが整形式でなくなる場合があるため、XML 特殊文字を FILLER データ項目に配置する際には注意が必要です。たとえば、次のような COBOL シーケンスがあるとします。
01 A.
 02 FILLER Value "<br".
 02 B Pic X(5) Value "DEF".
 02 FILLER Value "GHI".
この場合、次の構文的に無効な形式の XML シーケンスが生成されます。
 <a><br<b>DEF</b>GHI</a>
	 

XML EXPORT 文によって参照されるデータ項目内に FILLER データ項目が存在する場合には、必ず、生成されるドキュメントをチェックして、結果の XML ドキュメントが整形式であることを確認してください。ドキュメントが整形式でない場合は、それに応じた状態値が COBOL プログラムに返されます。