aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/rexml/document.rb1
-rw-r--r--lib/rexml/element.rb1
-rw-r--r--lib/rexml/formatters/transitive.rb4
3 files changed, 5 insertions, 1 deletions
diff --git a/lib/rexml/document.rb b/lib/rexml/document.rb
index 28c3a781db..48f1a0ec6c 100644
--- a/lib/rexml/document.rb
+++ b/lib/rexml/document.rb
@@ -186,6 +186,7 @@ module REXML
end
formatter = if indent > -1
if transitive
+ require "rexml/formatters/transitive"
REXML::Formatters::Transitive.new( indent, ie_hack )
else
REXML::Formatters::Pretty.new( indent, ie_hack )
diff --git a/lib/rexml/element.rb b/lib/rexml/element.rb
index a1c01e7de7..92308a5c99 100644
--- a/lib/rexml/element.rb
+++ b/lib/rexml/element.rb
@@ -691,6 +691,7 @@ module REXML
Kernel.warn("#{self.class.name}.write is deprecated. See REXML::Formatters")
formatter = if indent > -1
if transitive
+ require "rexml/formatters/transitive"
REXML::Formatters::Transitive.new( indent, ie_hack )
else
REXML::Formatters::Pretty.new( indent, ie_hack )
diff --git a/lib/rexml/formatters/transitive.rb b/lib/rexml/formatters/transitive.rb
index 1d80f21fbb..6083f0390b 100644
--- a/lib/rexml/formatters/transitive.rb
+++ b/lib/rexml/formatters/transitive.rb
@@ -12,9 +12,10 @@ module REXML
# formatted. Since this formatter does not alter whitespace nodes, the
# results of formatting already formatted XML will be odd.
class Transitive < Default
- def initialize( indentation=2 )
+ def initialize( indentation=2, ie_hack=false )
@indentation = indentation
@level = 0
+ @ie_hack = ie_hack
end
protected
@@ -29,6 +30,7 @@ module REXML
output << "\n"
output << ' '*@level
if node.children.empty?
+ output << " " if @ie_hack
output << "/"
else
output << ">"