Class: REXML::Formatters::Pretty

Inherits:
Default show all
Defined in:
lib/extensions/rexml/rexml/formatters/pretty.rb

Overview

Pretty-prints an XML document. This destroys whitespace in text nodes and will insert carriage returns and indentations.

TODO: Add an option to print attributes on new lines

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Default

#write

Constructor Details

#initialize(indentation = 2, ie_hack = false) ⇒ Pretty

Create a new pretty printer.

output

An object implementing ‘<<(String)’, to which the output will be written.

indentation

An integer greater than 0. The indentation of each level will be this number of spaces. If this is < 1, the behavior of this object is undefined. Defaults to 2.

ie_hack

If true, the printer will insert whitespace before closing empty tags, thereby allowing Internet Explorer’s feeble XML parser to function. Defaults to false.



29
30
31
32
33
34
35
# File 'lib/extensions/rexml/rexml/formatters/pretty.rb', line 29

def initialize( indentation=2, ie_hack=false )
  @indentation = indentation
  @level = 0
  @ie_hack = ie_hack
  @width = 80
  @compact = false
end

Instance Attribute Details

#compactObject

If compact is set to true, then the formatter will attempt to use as little space as possible



13
14
15
# File 'lib/extensions/rexml/rexml/formatters/pretty.rb', line 13

def compact
  @compact
end

#widthObject

The width of a page. Used for formatting text



15
16
17
# File 'lib/extensions/rexml/rexml/formatters/pretty.rb', line 15

def width
  @width
end