What is the mechanism of determining the transactions of a new block I am newbie in the Bitcoin field.

I have read about the transactions, blocks, blockchain and other materials.
As I know, when a new valid block is found and announced by a user, other users start working on the next block. But what is the mechanism of determining the transactions of the next block. I mean which transaction are going to form the new next block? Is that all transaction broadcasted before the announcing of the last valid block?

Thanks in advance!
All nodes (not just mining ones) maintain something called a mempool, a collection of all of the validated transactions they have seen on the network which have not made it into blocks so far. A miner is free to take all of them that will fit, a subset which satisfy their own requirements, or none of these transactions and assemble them into a candidate block. The block they assemble is invalid until they find proof of work that satisfies the current difficulty, if they find the correct nonce for that block it becomes valid and they can broadcast it to the network. If someone else finds a block before they do, the candidate block is discarded and a new one assembled to work against.