diff options
author | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-10-30 12:10:56 +0000 |
---|---|---|
committer | kou <kou@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-10-30 12:10:56 +0000 |
commit | 994f066f76857a781f8819b8da2c2aeceedbf87b (patch) | |
tree | d89e9bcf6ac8d558367f888919de0c4894224063 /lib/rexml/xmldecl.rb | |
parent | 767fe5170d97461be5c79936b467dee3d4eb7179 (diff) | |
download | ruby-994f066f76857a781f8819b8da2c2aeceedbf87b.tar.gz |
* lib/rexml/encoding.rb: use Ruby native encoding mechnism. [ruby-dev:42464]
* lib/rexml/encodings/: remove.
* lib/rexml/document.rb, lib/rexml/formatters/default.rb,
lib/rexml/output.rb, lib/rexml/parseexception.rb,
lib/rexml/parsers/baseparser.rb, lib/rexml/source.rb,
lib/rexml/xmldecl.rb: use Ruby's native Encoding object.
* test/rexml/, test/rss/: follow the above encoding chagnes.
* NEWS: add REXML's incompatible change about encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/xmldecl.rb')
-rw-r--r-- | lib/rexml/xmldecl.rb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/rexml/xmldecl.rb b/lib/rexml/xmldecl.rb index 361e4b7106..81d3057732 100644 --- a/lib/rexml/xmldecl.rb +++ b/lib/rexml/xmldecl.rb @@ -109,9 +109,20 @@ module REXML end private + def normalized_encoding_name(_encoding) + if _encoding == ::Encoding::UTF_16BE + "UTF-16" + else + return _encoding.name + end + end + def content(enc) rv = "version='#@version'" - rv << " encoding='#{enc}'" if @writeencoding || enc !~ /utf-8/i + if @writeencoding || enc.to_s !~ /\Autf-8\z/i + encoding_name = normalized_encoding_name(enc) + rv << " encoding='#{encoding_name}'" + end rv << " standalone='#@standalone'" if @standalone rv end |