Project

General

Profile

Bug #8689

REXML::StreamListener#entityが呼び出されない

Added by ohai (Ippei Obayashi) over 6 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.1.0dev (2013-07-25 trunk 42169) [x86_64-linux]
[ruby-dev:47542]

Description

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 から呼びだすようにする のいずれかの変更が良いでしょう。 私の意見としては、このコールバックの使い道が思いつかない、おそらく誰も使っていない、ので、削除してしまって よいのではと思います。

Also available in: Atom PDF