diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | lib/rexml/encoding.rb | 2 | ||||
-rw-r--r-- | lib/rexml/parsers/baseparser.rb | 4 |
3 files changed, 10 insertions, 3 deletions
@@ -1,3 +1,10 @@ +Mon Oct 9 22:56:12 2006 Yukihiro Matsumoto <matz@ruby-lang.org> + + * lib/rexml/encoding.rb (REXML::Encoding::check_encoding): spaces + are allowed around equal sign. [ruby-core:09032] + + * lib/rexml/parsers/baseparser.rb (REXML::Parsers::BaseParser): ditto. + Mon Oct 9 01:56:34 2006 Yukihiro Matsumoto <matz@ruby-lang.org> * eval.c (rb_obj_define_method): add new method diff --git a/lib/rexml/encoding.rb b/lib/rexml/encoding.rb index 51742faf44..3a92080b13 100644 --- a/lib/rexml/encoding.rb +++ b/lib/rexml/encoding.rb @@ -58,7 +58,7 @@ module REXML # We have to recognize UTF-16, LSB UTF-16, and UTF-8 return UTF_16 if /\A\xfe\xff/n =~ str return UNILE if /\A\xff\xfe/n =~ str - str =~ /^\s*<?xml\s*version=(['"]).*?\2\s*encoding=(["'])(.*?)\2/um + str =~ /^\s*<?xml\s*version\s*=\s*(['"]).*?\2\s*encoding\s*=\s*(["'])(.*?)\2/um return $1.upcase if $1 return UTF_8 end diff --git a/lib/rexml/parsers/baseparser.rb b/lib/rexml/parsers/baseparser.rb index 2cfcf02308..c57ea58dc7 100644 --- a/lib/rexml/parsers/baseparser.rb +++ b/lib/rexml/parsers/baseparser.rb @@ -49,8 +49,8 @@ module REXML CLOSE_MATCH = /^\s*<\/(#{NAME_STR})\s*>/um VERSION = /\bversion\s*=\s*["'](.*?)['"]/um - ENCODING = /\bencoding=["'](.*?)['"]/um - STANDALONE = /\bstandalone=["'](.*?)['"]/um + ENCODING = /\bencoding\s*=\s*["'](.*?)['"]/um + STANDALONE = /\bstandalone\s*=\s["'](.*?)['"]/um ENTITY_START = /^\s*<!ENTITY/ IDENTITY = /^([!\*\w\-]+)(\s+#{NCNAME_STR})?(\s+["'].*?['"])?(\s+['"].*?["'])?/u |