# 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