# File lib/xtemplate/xpath.rb, line 1127
    def eval_action(act, val, plugin)
      newval = nil
      act.strip!
      if( act.include?(";") )
        newval = val
        act.split(";").each{|a|
          newval = eval_action(a.strip, newval, plugin)
        }
        return newval
      end
      if( act =~ /^([^\(\)]+)\(([^\(\)]*)\)$/ )
        func = $1.strip
        args = args_split($2)
        newval = plugin.__send__(func,val,*args)
      else
        case val
        when Array
          newval = val.collect{|x| {act => x} }
        else
          newval = {act => val}
        end
      end
      newval
    end