Bug #5956

rexml - パース時のnamespaceチェックでのエラーについて

Added by m-hiramatsu (Miho Hiramatsu) 4 months ago. Updated 4 months ago.

[ruby-dev:45169]
Status:Closed Start date:02/01/2012
Priority:Normal Due date:
Assignee:kou (Kouhei Sutou) % Done:

100%

Category:lib
Target version:1.9.3
ruby -v:ruby 1.9.3p0 (2011-10-30 revision 33570) [i686-linux]

Description

添付のプログラムを実行すると以下のエラーとなります。 (実行環境:CentOS6) The 'xml' prefix must not be bound to any other namespace (http://www.w3.org/TR/REC-xml-names/#ns-decl) Line: 7 Position: 477 XMLデータ内の以下の記述に対して、 xmlns:xml="http://www.w3.org/XML/1998/namespace" 「属性"xmlns:xml"のnamespaceが"http://www.w3.org/XML/1998/namespace"でなければエラーとする」というチェックを /rexml/parsers/baseparser.rb line:386付近 で実行しているようですが、以下は誤りではないでしょうか。 [baseparser.rbのline:386付近を抜粋]    ...略 attrs.each { |a,b,c,d,e| if b == "xmlns" if c == "xml" if d != "http://www.w3.org/XML/1998/namespace" msg = "The 'xml' prefix must not be bound to any other namespace "+ "(http://www.w3.org/TR/REC-xml-names/#ns-decl)" raise REXML::ParseException.new( msg, @source, self ) end    ...略 if d != "http://www.w3.org/XML/1998/namespace" 本来"d"ではなく"e"と比較すべきではないでしょうか。

rexml_sample.rb (841 Bytes) m-hiramatsu (Miho Hiramatsu), 02/01/2012 03:47 pm

History

Updated by kou (Kouhei Sutou) 4 months ago

  • Status changed from Open to Assigned
  • Assignee set to kou (Kouhei Sutou)

Updated by kou (Kouhei Sutou) 4 months ago

  • Status changed from Assigned to Closed
  • % Done changed from 0 to 100
r34419 で修正しました! 再現コードがあってとても助かりました! ありがとうございます!

Updated by m-hiramatsu (Miho Hiramatsu) 4 months ago

了解です。 最新のスナップショットで問題が発生しないことを確認しました。 すぐの対応ありがとうございました。

Also available in: Atom PDF