From: noreply@... Date: 2007-05-30T06:35:23+09:00 Subject: [ ruby-Bugs-7674 ] rexml: Attribute prefix returns non-empty value for attributes in nonamespace Bugs item #7674, was opened at 2007-01-08 09:09 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7674&group_id=426 >Category: DB / File Formats Group: 1.8.5 Status: Open Resolution: None Priority: 3 Submitted By: John Franey (jfraney) Assigned to: Nobody (None) Summary: rexml: Attribute prefix returns non-empty value for attributes in nonamespace Initial Comment: This is a request to change behavior, not a bug request. The documented and implemented behavior of method prefix on Attribute is wrong. It should not return the prefix of the parent element if it does not have a prefix itself. I found this when I was building an XInclude element and printing it out using prefix method. The attributes in an XInclude 'include' element do not have a namespace. In this case, prefix should return: ''. I am running with Ruby 1.8.5 as provided by Suse 10.2. require 'rexml/document' def puts_a_by_prefix a if a.prefix puts "#{a.prefix}:#{a.name}='#{a.value}'" else puts "#{a.name}='#{a.value}'" end end def puts_a_by_write a a.write($stdout) puts "" end e_include = REXML::Element.new("xi:include") a_href = REXML::Attribute.new("href", "somefile.xml") e_include.add_attribute(a_href) # href has no namespace and should be represented as to: href='somefile.xml' puts_a_by_prefix a_href # prints: xi:href='somefile.xml' puts_a_by_write a_href # prints: href='somefile.xml' ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7674&group_id=426