# File lib/xtemplate/xpath.rb, line 322 def flatten(val) warn("The action 'flatten' and 'hash' will be obsoleted.") case val when Array newval = {} text = "" val.each{|elem| case elem when Hash elem.each{|k,v| newval[k] = v } else text.concat(elem.to_s) end } if( text.size > 0 ) newval[TextNode] = text end else newval = val end newval end