1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* Non-String attributes are now converted to Strings; this means code such as

elem.attributes["a"] = 1
  will not cause an error when dumping the XML.  It also means that:
  elem.attributes["a"]    # => "1", not 1
* Transitive indenting has been cleaned up.
* Fixed a potential bug in parsing non-ASCII encoded streams
* Fixed a bug where trying to fill in ParseException data was causing an
  IO error (stream closed)
* Changes to Text mean that Element (and Text) can be used outside of a
  Document context.
* In some rare cases, the base parser wasn't reading enough bytes from the
  stream for the parsing algorithm to work properly.  This has been fixed
  (this was Ruby bug #48426)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ser 2004-04-23 15:44:30 +00:00
parent 7792d9026a
commit d15f41b0eb
7 changed files with 49 additions and 27 deletions

View file

@ -1,4 +1,8 @@
require 'rexml/entity'
require 'rexml/doctype'
require 'rexml/child'
require 'rexml/doctype'
require 'rexml/parseexception'
module REXML
# Represents text nodes in an XML document
@ -271,16 +275,16 @@ module REXML
copy = input.clone
# Doing it like this rather than in a loop improves the speed
if doctype
copy.gsub!( EREFERENCE, '&' )
copy = copy.gsub( EREFERENCE, '&' )
doctype.entities.each_value do |entity|
copy.gsub!( entity.value,
copy = copy.gsub( entity.value,
"&#{entity.name};" ) if entity.value and
not( entity_filter and entity_filter.include?(entity) )
end
else
copy.gsub!( EREFERENCE, '&' )
copy = copy.gsub( EREFERENCE, '&' )
DocType::DEFAULT_ENTITIES.each_value do |entity|
copy.gsub!(entity.value, "&#{entity.name};" )
copy = copy.gsub(entity.value, "&#{entity.name};" )
end
end
copy