A fieldspace is conceptually the holder of all your fields. There is exactly one fieldspace associated with each MIC form. This fieldspace knows what fields might be present and how to initialize them.
The fieldspace object, presented to the coder as $fs, is created at
the point in the page where the user has <
form
MICfieldspace="...>
. After running through some trivial setup,
the fieldspace then recieves information encoded at compile time about
what fields the page might potentially need. With this information and
all the necessary state information propagated from the previous
page8.1, the fieldspace then goes on to instantiate
all the fields required by the MIC spec.
The fieldspaces primary purpose, as far as the MIC coder is concerned, is to provide access to fields. The fieldspace is also the recipient of the accounting information necessary in user defined verifications.