--- lib/rexml/document.rb.old 2008-07-21 12:18:10.000000000 -0700 +++ lib/rexml/document.rb 2008-07-21 12:19:11.000000000 -0700 @@ -168,7 +168,7 @@ # indentation will be twice this number of spaces, and children will be # indented an additional amount. For a value of 3, every item will be # indented 3 more levels, or 6 more spaces (2 * 3). Defaults to -1 - # trans:: + # transitive:: # If transitive is true and indent is >= 0, then the output will be # pretty-printed in such a way that the added whitespace does not affect # the absolute *value* of the document -- that is, it leaves the value @@ -179,12 +179,12 @@ # unable to parse proper XML, we have to provide a hack to generate XML # that IE's limited abilities can handle. This hack inserts a space # before the /> on empty tags. Defaults to false - def write( output=$stdout, indent=-1, trans=false, ie_hack=false ) + def write( output=$stdout, indent=-1, transitive=false, ie_hack=false ) if xml_decl.encoding != "UTF-8" && !output.kind_of?(Output) output = Output.new( output, xml_decl.encoding ) end formatter = if indent > -1 - if trans + if transitive REXML::Formatters::Transitive.new( indent, ie_hack ) else REXML::Formatters::Pretty.new( indent, ie_hack ) --- lib/rexml/doctype.rb.old 2007-11-17 00:13:31.000000000 +0100 +++ lib/rexml/doctype.rb 2007-11-17 00:14:32.000000000 +0100 @@ -65,6 +65,10 @@ else super() end + if @long_name + @long_name.gsub!(/^["']/, '') + @long_name.gsub!(/["']$/, '') + end end def node_type --- lib/rexml/text.rb.old 2007-11-17 00:08:29.000000000 +0100 +++ lib/rexml/text.rb 2007-11-17 00:08:49.000000000 +0100 @@ -286,7 +286,7 @@ EREFERENCE = /&(?!#{Entity::NAME};)/ # Escapes all possible entities def Text::normalize( input, doctype=nil, entity_filter=nil ) - copy = input + copy = input.to_s # Doing it like this rather than in a loop improves the speed #copy = copy.gsub( EREFERENCE, '&' ) copy = copy.gsub( "&", "&" )