Method: REXML::Element#namespaces
- Defined in:
- lib/rexml/element.rb
#namespaces ⇒ Object
:call-seq:
namespaces -> array_of_namespace_names
Returns a hash of all defined namespaces in the element and its ancestors:
xml_string = <<-EOT
<root>
<a xmlns:x='1' xmlns:y='2'>
<b/>
<c xmlns:z='3'/>
</a>
</root>
EOT
d = REXML::Document.new(xml_string)
d.elements['//a'].namespaces # => {"x"=>"1", "y"=>"2"}
d.elements['//b'].namespaces # => {"x"=>"1", "y"=>"2"}
d.elements['//c'].namespaces # => {"x"=>"1", "y"=>"2", "z"=>"3"}
590 591 592 593 594 595 596 597 |
# File 'lib/rexml/element.rb', line 590 def namespaces namespaces_cache = document&.__send__(:namespaces_cache) if namespaces_cache namespaces_cache[self] ||= calculate_namespaces else calculate_namespaces end end |