...
Some important notes.
- Each form element Form Element is assigned a unique hash Form Property to identify it, #hash.
- Each form element Form Element that is created is stored in a registry and it will persist though out the lifetime of the form even if it's removed from the form. Ancestry of Form Elements is stored so if a Form Element is cloned we will be able to determine the Form Element that is it was cloned from.
- Form Properties can be objects. To define new Form Properties implement the hook objectify_properties.
- Form’s Forms will be auto-populated from $form_states[‘values’].
- There is a FormStorage class that can be used to store any persistent data.
...
In essence this module models.
- The form to be processed.
- The form properties Form Properties needed to manipulate XML
- The XML document to be manipulated
- The actions required to generate repeating form elements Form Elements (tabs,tags) from the XML document
- The schema needed to determine the insert locations of elements and the validation requirements. (included via the Islandora XML Schema API)
...