# File lib/xtemplate/node.rb, line 95 def deep_dup(p = nil) node = XNode.new(@name && @name.dup, @attrs && @attrs.dup, nil, p, @data_path && @data_path.dup, @propagation, @exname && @exname.dup, @exattr && @exattr.dup, @expand, @alt, @option.dup) node.children = @children.collect{|child| if( child.is_a?(XNode) ) child.deep_dup(node) else child end } node end