summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-11 01:20:23 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-11 01:20:23 +0000
commitbc53f80b3791d3c73db44c2e454c98172a84917f (patch)
tree733b71f72a09fa40eaa71a8337e2b9b4b38ce9f2 /lib
parent54a722bd42a1135e4ee064137ffeac86a7784328 (diff)
* lib/rexml/document.rb (REXML::Document#write): require
rexml/formatters/transitive if transitive flag is on. a patch from akira yamada in [ruby-dev:36230]. fix #553 * lib/rexml/element.rb (REXML::Element#write): ditto. * lib/rexml/formatters/transitive.rb (REXML::Formatters::Transitive#write_element): add hack for IE. [ruby-dev:36230] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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 << ">"