ZF is defined using axiom schemata, rather than a finite set of axioms. So ZF has an infinite (countable) set of axioms.
I realized that in my study of math I probably missed how matching a statement to be an instance of an axiom schema is defined.
We can't refer to the fact that schemata provides a set of axioms, because ZF and sets are not yet defined.
Please give a precise definition (e.g. a matching algorithm) for axiom schemata of ZF.