[ruby-trunk - Bug #8689][Open] REXML::StreamListener#entityが呼び出されない

Issue #8689 has been reported by ohai (Ippei Obayashi).


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

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

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

Issue #8689 has been updated by kou (Kouhei S.).

Status changed from Open to Assigned
Assignee set to kou (Kouhei S.)


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

Author: ohai (Ippei Obayashi)
Status: Assigned
Priority: Normal
Assignee: kou (Kouhei S.)
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

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

Issue #8689 has been updated by ohai (Ippei Obayashi).

修正ありがとうございます。元々のコードを書いた人も取れている情報を捨てずに活用できる手段を用意したかったのでしょう。

るりまもこれに合わせて適当に修正します。

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

Author: ohai (Ippei Obayashi)
Status: Closed
Priority: Normal
Assignee: kou (Kouhei S.)
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

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

Issue #8689 has been updated by kou (Kouhei S.).

ちょっとみたらすぐにいけそうだったので実装しておきました!あと、パースして情報が落ちるのは切ないなぁという気持ちもありました。

まぁ、なにに使うんですかねぇ。。。未定義のパラメーター実体参照をしていないか、というチェックをするプログラムを書くためには使えそうですかねぇ。。。


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

Author: ohai (Ippei Obayashi)
Status: Closed
Priority: Normal
Assignee: kou (Kouhei S.)
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

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