# File lib/xtemplate/xpath.rb, line 291 def index(val, tag, ini=0) if( ini ) if( ini =~ /^([1-9]\d*)$/ ) ini = $1.to_i end end case val when Hash newval = val.dup newval[tag] = ini when Array newval = [] idx = ini val.each{|v| case v when Hash v = v.dup v[tag] = idx newval.push(v) else v = {TextNode => v, tag => idx} newval.push(v) end idx = idx.succ } else newval = {tag => ini, TextNode => val} end newval end