Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > rexml/documentライブラリ > REXML::Formatters::Prettyクラス

class REXML::Formatters::Pretty

クラスの継承リスト: REXML::Formatters::Pretty < REXML::Formatters::Default < Object < Kernel < BasicObject

要約

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よりも空白が増えている

目次

特異メソッド
new
インスタンスメソッド
compact compact= width width=

特異メソッド

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

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

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

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

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

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

インスタンスメソッド

compact -> bool[permalink][rdoc]

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

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

デフォルト値は false です。

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

compact=(c)[permalink][rdoc]

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

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

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

width -> Integer[permalink][rdoc]

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

デフォルトは80です。

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

width=(w)[permalink][rdoc]

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

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

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