# File lib/xtemplate.rb, line 94 def expand2(io, data, opts = nil) if( opts ) DEFAULT_OPTS.each{|key,val| opts[key] ||= val } else opts = DEFAULT_OPTS end if( opts[:keep_template] ) node = @node.deep_dup() else node = @node end if( opts[:keep_data] ) data = XTemplate::dup_data(data) end if( defined?(data.to_hash) ) data = data.to_hash end node.expand(data, nil, data, opts[:plugin]) # (1)current data (2)parent data (3)root data node.dump(io) end