diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-11 01:20:23 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-11 01:20:23 +0000 |
| commit | c985ba9d4b7e937f4db28248cd862fd09bd0a68f (patch) | |
| tree | 733b71f72a09fa40eaa71a8337e2b9b4b38ce9f2 | |
| parent | 95edc71150eab2b97918a490a4ecf5c9d9d390fc (diff) | |
| download | ruby-c985ba9d4b7e937f4db28248cd862fd09bd0a68f.tar.gz ruby-c985ba9d4b7e937f4db28248cd862fd09bd0a68f.tar.xz ruby-c985ba9d4b7e937f4db28248cd862fd09bd0a68f.zip | |
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@20620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 11 | ||||
| -rw-r--r-- | lib/rexml/document.rb | 1 | ||||
| -rw-r--r-- | lib/rexml/element.rb | 1 | ||||
| -rw-r--r-- | lib/rexml/formatters/transitive.rb | 4 |
4 files changed, 16 insertions, 1 deletions
@@ -1,3 +1,14 @@ +Thu Dec 11 10:18:35 2008 Yukihiro Matsumoto <matz@ruby-lang.org> + + * 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] + Thu Dec 11 02:37:22 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * math.c (domain_check): should not raise EDOM exception for NaN diff --git a/lib/rexml/document.rb b/lib/rexml/document.rb index 28c3a781d..48f1a0ec6 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 a1c01e7de..92308a5c9 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 1d80f21fb..6083f0390 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 << ">" |
