class REXML::Formatters::Pretty

[edit]

要約

XMLドキュメントを(文字列として)見た目良く出力するクラスです。

REXML::Formatters::Default と異なり見た目のためテキストの改行や空白を修正して出力します。


require 'rexml/document'
require 'rexml/formatters/pretty'
doc = REXML::Document.new <<EOS
<root>
<children>
  <grandchildren foo='bar'/>
</children>
</root>
EOS

pretty_formatter = REXML::Formatters::Pretty.new
output = StringIO.new
pretty_formatter.write(doc, output)
output.string
# => "<root>\n  <children>\n    <grandchildren foo='bar'/>\n  </children>\n</root>"
# この出力結果は入力のXMLよりも空白が増えている

目次

特異メソッド
インスタンスメソッド

継承しているメソッド

REXML::Formatters::Defaultから継承しているメソッド

特異メソッド

new(indentation=2, ie_hack=false) -> REXML::Formatter::Pretty[permalink][rdoc][edit]

フォーマッタオブジェクトを生成して返します。

このフォーマッタによる出力はテキストの空白や改行を調整し、適切なインデントを挿入して読みやすいXMLを出力します。

indentation でインデント幅を(空白の数で)指定します。

ie_hack に真を渡すと、空のタグを閉じる前で空白を挿入します。これは特定のバージョンのIEのXMLパーサのバグを避けるための機能です。

[PARAM] indentation:
出力のインデント幅
[PARAM] ie_hack:
空のタグを閉じる所にスペースを入れるかどうか

インスタンスメソッド

compact -> bool[permalink][rdoc][edit]

出力をコンパクトにするかどうかを返します。

これが真の場合、出力の空白をできる限り削除しようとします。

デフォルト値は false です。

[SEE_ALSO] REXML::Formatters::Pretty#compact=

compact=(c)[permalink][rdoc][edit]

出力をコンパクトにするかどうかを設定します。

[PARAM] c:
コンパクトな出力をするかどうかを指定します。

[SEE_ALSO] REXML::Formatters::Pretty#compact

width -> Integer[permalink][rdoc][edit]

出力のページ幅を返します。

デフォルトは80です。

[SEE_ALSO] REXML::Formatters::Pretty#width=

width=(w)[permalink][rdoc][edit]

出力のページ幅を設定します。

[PARAM] w:
ページ幅の設定値

[SEE_ALSO] REXML::Formatters::Pretty#width