summaryrefslogtreecommitdiffstats
path: root/lib/rexml/parsers/sax2parser.rb
diff options
context:
space:
mode:
authorser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-02 03:26:19 +0000
committerser <ser@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-04-02 03:26:19 +0000
commitf5fb445b6d83d74f7809062d7965ce75b6efda97 (patch)
treeb9d253eea1aa685030ce0fabc203bc2076191ed4 /lib/rexml/parsers/sax2parser.rb
parent5c4872b0ca73232dc701d86e6d76194d5fc6255e (diff)
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: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@6071 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rexml/parsers/sax2parser.rb')
-rw-r--r--lib/rexml/parsers/sax2parser.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/rexml/parsers/sax2parser.rb b/lib/rexml/parsers/sax2parser.rb
index aab87caae..8c82cf8fc 100644
--- a/lib/rexml/parsers/sax2parser.rb
+++ b/lib/rexml/parsers/sax2parser.rb
@@ -45,7 +45,7 @@ module REXML
if args.size == 2
args[1].each { |match| @procs << [args[0], match, blok] }
else
- add( [args[0], /.*/, blok] )
+ add( [args[0], nil, blok] )
end
elsif args[0].kind_of? Array
if args.size == 2
@@ -54,7 +54,7 @@ module REXML
args[0].each { |match| add( [ :start_element, match, blok ] ) }
end
else
- add([nil, /.*/, args[0]])
+ add([nil, nil, args[0]])
end
end
@@ -164,9 +164,10 @@ module REXML
def get_procs( symbol, name )
return nil if @procs.size == 0
@procs.find_all do |sym, match, block|
+ #puts sym.inspect+"=="+symbol.inspect+ "\t"+match.inspect+"=="+name.inspect+ "\t"+( (sym.nil? or symbol == sym) and ((name.nil? and match.nil?) or match.nil? or ( (name == match) or (match.kind_of? Regexp and name =~ match)))).to_s
(
(sym.nil? or symbol == sym) and
- (name.nil? or (
+ ((name.nil? and match.nil?) or match.nil? or (
(name == match) or
(match.kind_of? Regexp and name =~ match)
)
@@ -179,7 +180,7 @@ module REXML
@listeners.find_all do |sym, match, block|
(
(sym.nil? or symbol == sym) and
- (name.nil? or (
+ ((name.nil? and match.nil?) or match.nil? or (
(name == match) or
(match.kind_of? Regexp and name =~ match)
)