Bugs: Browse | Submit New | Admin

[#7674] rexml: Attribute prefix returns non-empty value for attributes in nonamespace

Date:
2007-01-08 17:09
Priority:
3
Submitted By:
John Franey (jfraney)
Assigned To:
Akinori MUSHA (knu)
Category:
DB / File Formats
State:
Open
Platform:
 
Summary:
rexml: Attribute prefix returns non-empty value for attributes in nonamespace

Detailed description
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'



Add A Comment: Notepad

Please login


Followup

No Followups Have Been Posted

Attached Files:

Name Description Download
No Files Currently Attached

Changes:

Field Old Value Date By
assigned_tonone2007-06-12 01:20zenspider
category_idMisc / Other Standard Library2007-05-29 21:35zenspider
summaryAttribute prefix returns non-empty value for attributes in nonamespace2007-05-29 21:33zenspider
category_idLanguage / Runtime / Core Libraries2007-05-29 15:54zenspider