Ruby 1.8.6のREXML/XPathのバグ

Ruby 1.8.6でXML構文を扱うとき、XPathがうまく機能しないバグがあるそうです。Rubyのソースファイルを修正すると正常に動作します。

修正ファイル: /usr/lib/ruby/1.8/rexml/element.rb

修正箇所:
def attribute( name, namespace=nil ) prefix = nil
■■prefix = namespaces.index(namespace) if namespace
■■prefix = nil if prefix == ‘xmlns’ #この行を追加
■■attributes.get_attribute( “#{prefix ? prefix + ‘:’ : }#{name}” )
end

参考:
#102 (Cannot select attribute with default namespace) – rexml – Trac