Hey,

I'm storing my XML namespaces for REXML as Hashes (for XPath.first [1]) like so:

 RDF_NS = {"rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#"}

When I need to do an XPath lookup, these work great (especially as I
can merge() more than one together), but when I have to create new
Elements and add their namespaces, the Hash isn't what's expected[2]
(it needs two distinct args).

Is there a cooler way to get from a Hash to two args other than my
*Hash.to_a.flatten ?

require 'rexml/document'
# => true
RDF_NS = {"rdf" => "http://www.w3.org/1999/02/22-rdf-syntax-ns#"}
# => {"rdf"=>"http://www.w3.org/1999/02/22-rdf-syntax-ns#"}
a = REXML::Element.new "rdf:RDF"
# => <rdf:RDF/>
a.add_namespace(*RDF_NS.to_a.flatten)
# => <rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'/>



Thanks,
Keith

1. namespaces:	If supplied, a Hash which defines a namespace mapping:
 XPath.first( node, "a/x:b", { "x"=>"http://doofus" } )
http://www.germane-software.com/software/rexml/doc/classes/REXML/XPath.html#M000452

2.   add_namespace( prefix, uri=nil )

Adds a namespace to this element.
  prefix:	the prefix string, or the namespace URI if uri is not supplied
  uri:	the namespace URI. May be nil, in which prefix is used as the URI

  a.add_namespace("foo", "bar")
 http://www.germane-software.com/software/rexml/doc/classes/REXML/Element.html#M000490