From: "ohai (Ippei Obayashi)" Date: 2013-07-26T02:55:00+09:00 Subject: [ruby-dev:47542] [ruby-trunk - Bug #8689][Open] REXML::StreamListener#entityが呼び出されない Issue #8689 has been reported by ohai (Ippei Obayashi). ---------------------------------------- Bug #8689: REXML::StreamListener#entityが呼び出されない https://bugs.ruby-lang.org/issues/8689 Author: ohai (Ippei Obayashi) Status: Open Priority: Normal Assignee: Category: lib Target version: ruby -v: ruby 2.1.0dev (2013-07-25 trunk 42169) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN REXML::StreamListener#entity のドキュメントによると # Called when %foo; is encountered in a doctype declaration. # @p content "foo" def entity content end と書かれていますが、以下のコードを動かしても何も表示されません require 'rexml/parsers/baseparser' require 'rexml/parsers/streamparser' require 'rexml/streamlistener' xml = < EOS class Listener include REXML::StreamListener def entity(content) p content end end REXML::Parsers::StreamParser.new(xml, Listener.new).parse lib/rexml/parsers/streamparser.rb でもこの entity というメソッドを呼びだしている 場所はないようです。 というわけで、なんらかの修正をする必要があるように思われます。 * このメソッドを削除 * このメソッドを StreamParser から呼びだすようにする のいずれかの変更が良いでしょう。 私の意見としては、このコールバックの使い道が思いつかない、おそらく誰も使っていない、ので、削除してしまって よいのではと思います。 -- http://bugs.ruby-lang.org/