mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
REXML changes backported from the 1.9 branch:
* Minor source documentation changes * Changes to the pretty-printing code, including the addition of the word- wrap submission. * Bug fix for missing quotations in NOTATION DTD items * Bug fixes and improvements to whitespace handling in text nodes * Refactoring and bug fixes in encoding support * Minor speed optimizations in the core parser * Bug fixes in the SAX2 parserthe core parser * Copyright fixes * Version bump to REXML 3.0.0 * A change that caused speed degredation has been reversed * Addition of a value=() method in Text, for replacing the contents of a text node * Fixed the document order of the descendant-or-self axis in XPath git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
354d68f80b
commit
7a07ba45a0
16 changed files with 141 additions and 91 deletions
|
@ -1,6 +1,6 @@
|
|||
module REXML
|
||||
module Encoding
|
||||
@@__REXML_encoding_methods =<<-'EOL'
|
||||
@@__REXML_encoding_methods = %q~
|
||||
# Convert from UTF-8
|
||||
def encode content
|
||||
array_utf8 = content.unpack('U*')
|
||||
|
@ -20,6 +20,6 @@ module REXML
|
|||
def decode(str)
|
||||
str.unpack('C*').pack('U*')
|
||||
end
|
||||
EOL
|
||||
~
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,33 +1 @@
|
|||
begin
|
||||
require 'uconv'
|
||||
|
||||
module REXML
|
||||
module Encoding
|
||||
def to_shift_jis content
|
||||
Uconv::u8tosjis(content)
|
||||
end
|
||||
|
||||
def from_shift_jis(str)
|
||||
Uconv::sjistou8(str)
|
||||
end
|
||||
end
|
||||
end
|
||||
rescue LoadError
|
||||
begin
|
||||
require 'iconv'
|
||||
module REXML
|
||||
module Encoding
|
||||
def from_shift_jis(str)
|
||||
return Iconv::iconv("utf-8", "shift_jis", str).join('')
|
||||
end
|
||||
|
||||
def to_shift_jis content
|
||||
return Iconv::iconv("shift_jis", "utf-8", content).join('')
|
||||
end
|
||||
end
|
||||
end
|
||||
rescue LoadError
|
||||
raise "uconv or iconv is required for Japanese encoding support."
|
||||
end
|
||||
|
||||
end
|
||||
require 'rexml/encodings/SHIFT-JIS'
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
module REXML
|
||||
module Encoding
|
||||
@@__REXML_encoding_methods =<<-'EOL'
|
||||
@@__REXML_encoding_methods = %q~
|
||||
# Convert from UTF-8
|
||||
def encode content
|
||||
array_utf8 = content.unpack('U*')
|
||||
|
@ -20,6 +20,6 @@ module REXML
|
|||
def decode(str)
|
||||
str.unpack('C*').pack('U*')
|
||||
end
|
||||
EOL
|
||||
~
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue