From: "ohai (Ippei Obayashi)" Date: 2013-07-28T23:20:08+09:00 Subject: [ruby-dev:47551] [ruby-trunk - Bug #8701][Open] REXML bug in parsing notation declarations Issue #8701 has been reported by ohai (Ippei Obayashi). ---------------------------------------- Bug #8701: REXML bug in parsing notation declarations https://bugs.ruby-lang.org/issues/8701 Author: ohai (Ippei Obayashi) Status: Open Priority: Normal Assignee: kou (Kouhei Sutou) Category: lib Target version: ruby -v: ruby 2.1.0dev (2013-07-28 trunk 42214) [x86_64-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN 添付したコード(test_notationdecl.rb)を実行すると、["x", "y", "z"] が表示することが期待されますが、["y", "z"] と表示されます。 パースに使っている正規表現の問題で, 添付したパッチ(rexml-dtd-notationdecl-fix.patch)で直ると思います。 テストも添付しています。 このパーサではあちこちで ^ で始まる正規表現が使われていますが、おそらくすべて \A のつもりであろうと思われます。添付したパッチでは関係のある部分だけ修正していますが、他の正規表現も修正したほうが良いかもしれません。 -- http://bugs.ruby-lang.org/