Actions
Bug #8731
closedProblems when parsing notation decl and entity decl with REXML::Parsers::SAX2Parser
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.0dev (2013-08-04 trunk 42372) [x86_64-linux]
Backport:
Description
以下のコード(sax2parser_decl_error.rb)を実行すると例外が発生します。
require 'rexml/parsers/sax2parser'
require 'rexml/sax2listener'
xml = <<EOS
<!NOTATION x SYSTEM "URIx">
]>
EOS
class Listener
include REXML::SAX2Listener
end
parser = REXML::Parsers::SAX2Parser.new(xml)
parser.listen(Listener.new)
parser.parse
> test_sax2parser.rb:21:in `entitydecl': wrong number of arguments (3 for 1) (ArgumentError)¶
これは SAX2Parser#handle から SAX2Listener#entitydecl, notationdecl に渡す引数の個数が違っているのが問題です。
添付した rexml-sax2parser-fix.patch で修正されます。ユニットテストは rexml-sax2parser-unittest.patch です。
さらに、rexml-sax2listener-doc.patch でドキュメントの修正をしています。
Files
Actions
Like0
Like0Like0