11.12 標準モジュール formatter

 

このモジュールは複数のインプリメントにおいて2つのインタフェースの定義に対応しています。 formatterのインタフェースはhtmllibモジュールの中のHTMLParserクラスに利用します。 writerのインタフェースにはformatterのインタフェースが求められます。  

formatterオブジェクトはwriterオブジェクトで書式化されたイベントの抽象的な流れを特定の 出力イベントに変換します。 writerオブジェクトのいろいろな属性を変更したり、設定したりすることができるように いくつかのスタック構造を制御します。 つまり、writerは相対的変更することはできないし、「change back」操作によるどんなソートも してはならない。 formatterオブジェクトを通して制御される特定のwriterの属性は横方向の位置合わせ、フォント、 左のマージンのインデントです。 同様にwriterには排他的でない特殊な文字に対応する仕組みが提供されています。 追加されたインタフェースはパラグラフの区切りのように逆にできない書式化イベントを容易にします。

writerオブジェクトはデバイスインタフェースをカプセル化します。 ファイルフォーマットと同じ抽象的なデバイスには物理的なデバイスと同様に対応しています。 提供されているインプリメントは全て抽象的なデバイスで動作します。 インタフェースによってformatterオブジェクトが制御する属性を設定することと 出力にデータを挿入することができます。


guido@python.org