From: "ohai (Ippei Obayashi)" Date: 2013-08-04T18:01:03+09:00 Subject: [ruby-dev:47582] [ruby-trunk - Bug #8731][Open] Problems when parsing notation decl and entity decl with REXML::Parsers::SAX2Parser Issue #8731 has been reported by ohai (Ippei Obayashi). ---------------------------------------- Bug #8731: Problems when parsing notation decl and entity decl with REXML::Parsers::SAX2Parser https://bugs.ruby-lang.org/issues/8731 Author: ohai (Ippei Obayashi) Status: Open Priority: Normal Assignee: Category: lib Target version: ruby -v: ruby 2.1.0dev (2013-08-04 trunk 42372) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN 以下のコード(sax2parser_decl_error.rb)を実行すると例外が発生します。 require 'rexml/parsers/sax2parser' require 'rexml/sax2listener' xml = < ]> 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 でドキュメントの修正をしています。 -- http://bugs.ruby-lang.org/