XML での空白文字の処理

XML 拡張では、通常、後続空白文字はデータのエクスポート時に COBOL データ項目から除去され、データのインポート時に COBOL データ項目に対して復元されます。また、先行空白文字も、桁寄せデータ項目については削除および追加されます。

このデフォルトの動作は XML SET FLAGS 文を使用して変更できますが、通常はデフォルトの動作が最適です。先行空白文字および後続空白文字に関する通常の処理は、FILLER データ項目または編集データ項目には適用されません。

XML でデータを使用する場合は、空白文字の XML での処理に関して、スペース、キャリッジ リターン、およびライン フィードなど、考慮すべき事項がさらにあります。XML には xml:space という名前のビルトイン属性が用意されています。この属性の値は "preserve" または "default" になります。値 "preserve" は、要素内の空白文字を維持する必要があることを指定します。値 "default" は、先行および後続の空白文字を除去でき、埋め込みの空白文字が存在する場合にはその空白文字を単一のスペースに正規化できることを指定します。値 "default" は、XML における空白文字のデフォルトの処理であり、文またはその他の特別な出力を生成する場合を除き、通常は変更されません。

XML 拡張には、インポート時またはエクスポート時の各空白文字の処理について、次のようなさまざまな規則があります。

XML の予約済み属性 XML-space の "preserve" または "collapse" という値は、パーサーによってこの属性が操作されない限り、XML 拡張で無視されます。

XSLT スタイルシートを使用する場合は、xsl:strip-space 要素および xsl:preserve-space 要素によって、ドキュメントの変換時における空白文字の処理方法が指定されます。デフォルトでは空白文字は維持されますが、XSLT スタイルシートを生成するツールによって xsl:strip-space 要素が挿入される場合があります。

多くのブラウザーでは、表示用にドキュメントを HTML に変換する際、許可されている場合には空白文字が除去されることに注意してください。XML サポートがない場合に COBOL レポート出力で一般に行われるように、空白文字を使用する代わりに列にデータを配置するには、通常、表にデータを表示する必要があります。