XML のホワイトスペースの処理

Adobe FrameMaker でのホワイトスペースの処理、およびホワイトスペースの正規化の規格について説明します。

このトピックの内容

概要

FrameMaker の WYSIWYG ビューで XML ファイルを開くと、余白が正規化されます。

XML の余白は、スペース、タブ、空行 / 改行(ハードの改行を除く)のセットから構成される任意の文字です。 余白には次の目的があります。

  1. コード用などにソース形式で文書を視覚的に書式設定し、XML 文書にとっての意味的な重要性を示します。

  2. テキスト エディターを使用して XML を編集しながら、スペースや改行をエレメントのコンテンツモデルに追加して、XML を読みやすくします。 この余白は文書で伝えられる情報の一部ではなく、XML アプリケーションにとって意味的な重要性はありません。

    Note: デフォルトのプリティプリントは、新しい修正された文書では XML ビューでは無効化されています。

W3C は XML 文書の余白がどのように XML アプリケーションの余白となるのかを定義します。

余白正規化標準

FrameMaker は次のルールを標準に従った余白正規化に使用しています。

  1. XML は開きタグの直後の余白の最初のシーケンス、および閉じタグの直前の余白の最後のシーケンスを無視します。

  2. XML はスペースでない文字(タブおよび改行)をスペース文字と解釈して、すべての複数のスペース文字をスペース 1 つにまとめます。

  3. 親エレメントがエレメントコンテンツを持つよう定義されている場合、XML は 2 つのエレメントの間にある余白のシーケンスを無視します。

  4. エレメントの xml:space 属性を余白を保持するように設定できます。例えば、次を(XML コードビューで表示されるように)正規化するとします。

    Hickory[SPACE][SPACE][SPACE]dikory dock. 
    The mouse[TAB][SPACE]ran up the clock.

    このように(WYSIWYG ビューで)表示されます。

    Hickory[SPACE]dikory dock. 
    The mouse[SPACE]ran up the clock.
  5. 文字参照の拡張で導入されたホワイトスペース(スペース = タブ= 改行=)は、XML ではそのまま保持されます。 これは上記のルールに従って、余白と見なされます。

    例えば、FrameMaker が次を(XML コードビューで表示されるように)正規化するとします。

    Hickory   dikory dock. 
    The mouse	 ran up the clock.

    正規化後、次のように(WYSIWYG ビューで)表示されます。

    Hickory[SPACE][SPACE][SPACE]dikory dock. 
    The mouse[TAB][SPACE]ran up the clock.

取り込み時のホワイトスペースの削除を禁止する

ホワイトスペースの削除を禁止するには、プロパティ RemoveExtraWhiteSpacesOnXMLImportmaker.iniFALSE に設定します。

Note: ini ファイルを編集するときは注意して行ってください。

特定エレメントのホワイトスペースを保持する

xml:space 属性が preserve (xml:space="preserve") に設定されている場合、FrameMaker はすべてのホワイトスペースを保持します。この設定を使用して、特定のエレメントのみの余白を保持できます。 この設定では、FrameMaker は WYSIWYG ビューの他のすべてのエレメントの余白を削除します。