mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* Added the lower-case Shift-JIS files to the manifest. The upper-case ones
should be deprecated, but I need a Shift-JIS encoded XML file to test against, first. * Added support for maintaining external entity occurances in DTDs * Deprecated the use of Document::DECLARATION. The new default declaration can be gotten with XMLDecl::default() * Refactored the encoding support code. It should be more robust now, and fixes a few bugs. * The XPath string() function now deals with Element nodes properly. * Serialization with Output objects now works as would be expected. * Various code cleanups, some reducing the number of warnings that Ruby 1.8.x produces with REXML. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
31963249b9
commit
e6636fe890
21 changed files with 817 additions and 722 deletions
|
@ -1,3 +1,7 @@
|
|||
require 'rexml/parsers/baseparser'
|
||||
require 'rexml/parseexception'
|
||||
require 'rexml/namespace'
|
||||
|
||||
module REXML
|
||||
module Parsers
|
||||
class SAX2Parser
|
||||
|
@ -85,7 +89,7 @@ module REXML
|
|||
if procs or listeners
|
||||
# break out the namespace declarations
|
||||
# The attributes live in event[2]
|
||||
nsdecl = event[2].find_all { |n, value| n =~ /^xmlns:/ }
|
||||
nsdecl = event[2].find_all { |n, value| n =~ /^xmlns(:|$)/ }
|
||||
nsdecl.collect! { |n, value| [ n[6..-1], value ] }
|
||||
@namespace_stack.push({})
|
||||
nsdecl.each do |n,v|
|
||||
|
@ -194,10 +198,9 @@ module REXML
|
|||
end
|
||||
|
||||
def get_namespace( prefix )
|
||||
uri = @namespace_stack.find do |ns|
|
||||
not ns[prefix].nil?
|
||||
end
|
||||
uri[prefix] unless uri.nil?
|
||||
uris = (@namespace_stack.find_all { |ns| not ns[prefix].nil? }) ||
|
||||
(@namespace_stack.find { |ns| not ns[nil].nil? })
|
||||
uris[-1][prefix] unless uris.nil? or 0 == uris.size
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue