# 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