Technical Overview: Form Storage – SDMX CrossSectional¶
This is a form storage mechanism designed to read data from an SDMX-HD code list file. This form storage mechanism is present in version >= 4.0.6.
This is a read-only form storage mechanism.
This form storage mechanism requires PHP 5.3 or greater
Form Storage Options¶
- The options specifying a SDMX Cross Sectional storage for $form are stored at:
/modules/forms/forms/$form/storage_options/SDMX_CrossSectional
It has the following structure:
file: Required scalar node. The SDMX file that the data should be read from. This can either be an absolutely given file path, a relative file path, or the URL of a stream handled by php. If it is a relative file path, then it uses the SDMXHD [[File Search Paths | file search]] category. The file can also be a path to a scalar node in magic data as indicated by ‘mdn://path/in/magic/data’
namespace: Optional scalar node. defaults to ‘ns’.
parent: optional parent node. The data defining how to associate a parent id DOM Node.
*attribute: Required scalar node. The name of the attribute which contains the parent. If neither ‘query’ or this is set, there is not parent data. ‘query’ takes precendence.
*eval: Optional scalar node. If set it is a code php code which modifies the id, stored in the $val variable. For example ‘$val = strtoupper($val);’
*map_data: Optional parent node. .It is used to map the given field via a SDMX-HD Code List that is in the system
**list: Required scalar node. The list that we want this field to take values in
**codelist: Required scalar node: The name of the SDMX-HD code list which this attribute takes values in, in other words the value we wish to map from.
mapping_form: Optional scalar node. The name of the form which contains the mapping data between the SDMX-HD Code List and the list we wish to map to. If the module **Lists-LinkTo-List is enabled and the value is not set then it defaults to list_linkto_list_XXXX where XXXX is the form storage mechanism of the list. If set, the form should subclass I2CE_ListLink_List.
fields: Optional parent node. Specifies how the data of the your form is associate to a row of your table. Each child of this node is the name of a field $field of your form.
*$field: Optional parent node with the following child nodes.
**attribute: Required scalar node. The name of the attribute which contains the parent. If neither ‘query’ nor this is set, there is not data. ‘query’ takes precendence
**eval: Optional scalar node. If set it is a code php code which modifies the id, stored in the $val variable. For example ‘$val = strtoupper($val);’
**map_data: Optional parent node. .It is used to map the given field via a SDMX-HD Code List that is in the system
***list: Required scalar node. The list that we want this field to take values in
***codelist: Required scalar node: The name of the SDMX-HD code list which this attribute takes values in, in other words the value we wish to map from.
*mapping_form: Optional scalar node. The name of the form which contains the mapping data between the SDMX-HD Code List and the list we wish to map to. If the module **Lists-LinkTo-List is enabled and the value is not set then it defaults to list_linkto_list_XXXX where XXXX is the form storage mechanism of the list. If set, the form should subclass I2CE_ListLink_List.