# File lib/xtemplate/xpath.rb, line 574 def value_to_xml(val, parent) case val when Hash val.each{|k,v| case k when ParentNode # do nothing when TextNode parent.add_child(v) when /^@(.+)/ parent.add_attr($1) parent.add_attrval(v) else node = XNode.new(k) value_to_xml(v,node) parent.add_child(node) end } when Array val = val.collect{|v| case v when Hash, Array v else {TextNode => v} end } val.each{|v| value_to_xml(v,parent) } when nil nil else parent.add_child(val) end end