Class: I2CE FormStorage XML BASE (Development): Difference between revisions

From IHRIS Wiki
(Created page with '{{otherversions|Class: I2CE_FormStorage_XML_BASE}} This article describes the ''abstract'' class ''I2CE_FormStorage_XML_BASE'' . *Extends the class: [[Class: I2CE_FormStorage_Mec…')
 
No edit summary
 
Line 1: Line 1:
{{otherversions|Class: I2CE_FormStorage_XML_BASE}}
{{otherversions|Class: I2CE_FormStorage_XML_BASE}}
This article describes the ''abstract'' class ''I2CE_FormStorage_XML_BASE'' .
This article describes the ''abstract'' class ''I2CE_FormStorage_XML_BASE'' .
*Extends the class: [[Class: I2CE_FormStorage_Mechanism (Development) | I2CE_FormStorage_Mechanism]].
*Extends the class: [[Class: I2CE_FormStorage_File_Base (Development) | I2CE_FormStorage_File_Base]].
*Child Classes:
*Child Classes:
** [[Class: I2CE_FormStorage_SDMXHD (Development) | I2CE_FormStorage_SDMXHD]]
** [[Class: I2CE_FormStorage_SDMXHD (Development) | I2CE_FormStorage_SDMXHD]]
** [[Class: I2CE_FormStorage_SDMX_CrossSectional (Development) | I2CE_FormStorage_SDMX_CrossSectional]]
** [[Class: I2CE_FormStorage_SDMX_CrossSectional (Development) | I2CE_FormStorage_SDMX_CrossSectional]]
** [[Class: I2CE_FormStorage_XML (Development) | I2CE_FormStorage_XML]]
** [[Class: I2CE_FormStorage_XML (Development) | I2CE_FormStorage_XML]]
*Location: Part of the module [[I2CE Module List (Development)#forms-storage-xml|forms-storage-xml]] in the package [https://launchpad.net/i2ce I2CE] 4.0-dev
*Location: Part of the module [[I2CE Module List (Development)#forms-storage-xml|forms-storage-xml]] in the package [https://launchpad.net/i2ce I2CE] 4.1-dev
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L35 modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 35
*Source: Defined in the file [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L35 modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 35
*Author: Luke Duncan <lduncan@intrahealth.org>
*Author: Luke Duncan <lduncan@intrahealth.org>


Line 14: Line 14:
@filesource Class I2CE_FormStorage_XML Storage mechanism for reading XML code lists.
@filesource Class I2CE_FormStorage_XML Storage mechanism for reading XML code lists.
==Variables==
==Variables==
===$mod_time===
of int, the unix style mod time of the  file associated to the form which is the index.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L63 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 63
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $mod_time
===$dom_data===
===$dom_data===
.  An array indexed by form names of arrays.  array( 'doc' => DOMDocument, 'xpath' => DOMXPath, 'dataset' => DOMNode, 'namespace' = string //the name space we are working with )
.  An array indexed by form names of arrays.  array( 'doc' => DOMDocument, 'xpath' => DOMXPath, 'dataset' => DOMNode, )
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L73 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 73
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L69 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 69
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $dom_data
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $dom_data
===$locations===
Array of DOMNodes for a given form.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L165 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 165
*Type: protected $locations


===$id_def===
===$id_def===
array, indexed by form,with detisl details to pull out id from a node
array, indexed by form,with detisl details to pull out id from a node
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L256 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 256
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L215 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 215
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $id_def
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $id_def


===$fieldData===
===$fieldData===
An array of arrays, indexed by form name, containing the data defining the field
An array of arrays, indexed by form name, containing the data defining the field
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L369 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 369
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L311 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 311
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $fieldData
*Type: protected [http://www.php.net/manual/en/language.types.array.php array ] $fieldData


==Methods==
==Methods==
===ensureNodeLocations()===
===ensureLocations()===
Worker moethod to  the offset in the CSV file for the specified form id and store it into the {$locations} cache. Reads through the file until the specified is found.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L158 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 158
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L199 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 199
*Signature: protected function ensureLocations($form)
*Signature: protected function ensureNodeLocations($form)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
**$form  
===getBaseQuery()===
===getBaseQuery()===
Get the xpath query for the base node containing the data
Get the xpath query for the base node containing the data
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L50 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 50
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L50 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 50
*Signature: abstract protected function getBaseQuery($form)
*Signature: abstract protected function getBaseQuery($form)
*Parameters:
*Parameters:
Line 55: Line 44:
===getDOMData()===
===getDOMData()===
Tries to get the DOM for the  file
Tries to get the DOM for the  file
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L113 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 113
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L109 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 109
*Signature: protected function getDOMData($form)
*Signature: protected function getDOMData($form)
*Parameters:
*Parameters:
Line 62: Line 51:
===getDataNodesQuery()===
===getDataNodesQuery()===
Get the xpath query for the data nodes relative to the  the containing data
Get the xpath query for the data nodes relative to the  the containing data
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L42 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 42
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L42 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 42
*Signature: abstract protected function getDataNodesQuery($form)
*Signature: abstract protected function getDataNodesQuery($form)
*Parameters:
*Parameters:
Line 69: Line 58:
===getFieldDataDesc()===
===getFieldDataDesc()===
Get the field data description for the given form.
Get the field data description for the given form.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L377 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 377
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L320 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 320
*Signature: protected function getFieldDataDesc($form)
*Signature: protected function getFieldDataDesc($form,$field)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [http://www.php.net/manual/en/language.types.string.php string ] $form
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]<br/>indexed by field name.
** [http://www.php.net/manual/en/language.types.string.php string ] $field <br/>Defaults to null in which case we get all the fields for the given form
===getFile()===
***Default Value: null
Get the absolute location of the XML file for the given form
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]<br/>indexed by field name or an array of the field data.
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L82 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 82
===getFieldValue()===
*Signature: protected function getFile($form)
Get the value based on the given field data @param array $fieldData @param array $dom_data
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L269 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 269
*Signature: protected function getFieldValue($form,$field,$node)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [http://www.php.net/manual/en/language.types.string.php string ] $form
*Returns: mixed.<br/>false on failure, a string on success.
** [http://www.php.net/manual/en/language.types.string.php string ] $field
** [http://www.php.net/manual/en/class.domnode.php DOMNode ] $node
*Returns: mixed.<br/>null if no data was found.  otherwise it is a string
===getFormData()===
===getFormData()===
Process the given node for form data
Process the given node for form data
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L340 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 340
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L292 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 292
*Signature: protected function getFormData($form,$node)
*Signature: protected function getFormData($form,$node)
*Parameters:
*Parameters:
Line 89: Line 82:
** [http://www.php.net/manual/en/class.domnode.php DOMNode ] $node
** [http://www.php.net/manual/en/class.domnode.php DOMNode ] $node
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]<br/>indexed by field name (including 'parent') and values the DB value
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]<br/>indexed by field name (including 'parent') and values the DB value
===getNodeId()===
===getLocationId()===
Get the id associated to the given node
Get the id associated to the given node
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L266 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 266
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L225 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 225
*Signature: protected function getNodeId($form,$node,$count)
*Signature: protected function getLocationId($form,$node,$count)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
** [http://www.php.net/manual/en/language.types.string.php string ] $form
Line 98: Line 91:
**$count  
**$count  
*Returns: string.<br/>'0' or null  on failure a string on success.
*Returns: string.<br/>'0' or null  on failure a string on success.
===getNamespaces()===
Get the namespaces we should register with xpath
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L57 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 57
*Signature: protected function getNamespaces($form)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]<br/>keys are namespace prefixes values are the URIS
===getNodeIdDescription()===
===getNodeIdDescription()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L226 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 226
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L185 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 185
*Signature: protected function getNodeIdDescription($form)
*Signature: protected function getNodeIdDescription($form)
*Parameters:
*Parameters:
**$form  
**$form  
===getNodeLocation()===
===release()===
Get the DOMNode file for the specified form object
Release any resourced held by this form storage mechanism for the indicated form
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L186 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 186
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.1-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L76 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 76
*Signature: protected function getNodeLocation($formName,$id)
*Signature: public function release($form)
*Parameters:
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $formName @params string $id
** [http://www.php.net/manual/en/language.types.string.php string ] $form
**$id
==Inherited Methods==
*Returns: [http://www.php.net/manual/en/class.domnode.php DOMNode ]<br/>on success, false on failure.
===getFile()===
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getFile() | I2CE_FormStorage_File_Base->getFile()]]
 
===getFileData()===
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getFileData() | I2CE_FormStorage_File_Base->getFileData()]]
 
===getFileModTime()===
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getFileModTime() | I2CE_FormStorage_File_Base->getFileModTime()]]
 
===getRecords()===
===getRecords()===
Return an array of all the record ids for a given form.
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getRecords() | I2CE_FormStorage_File_Base->getRecords()]]
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L173 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 173
 
*Signature: public function getRecords($form)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
*Returns: [http://www.php.net/manual/en/language.types.array.php array ]
===getSearchCategory()===
Get the search category
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L57 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 57
*Signature: abstract protected function getSearchCategory($form)
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form
*Returns: [http://www.php.net/manual/en/language.types.string.php string ]
===isWritable()===
===isWritable()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L156 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 156
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#isWritable() | I2CE_FormStorage_File_Base->isWritable()]]
*Signature: public function isWritable()
 
===listDisplayFields()===
===listDisplayFields()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L464 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 464
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#listDisplayFields() | I2CE_FormStorage_File_Base->listDisplayFields()]]
*Signature: public function listDisplayFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
 
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>THe form name
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>of string. The fields we want returned Can include the special field 'last_modified' to get the last modification time for any of the fields of that form which is returned in the format  "Y-m-d H:i:s"
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent <br/>Defaults to false.    If it is scalar and non-boolean, it is consider to be the ID of the parent, and then we get all forms with parent the given id. If true, we return the parent as one of the fields.
***Default Value: false
** [http://www.php.net/manual/en/language.types.array.php array ] $where_data <br/>contains the  where clause information about this form or a nested
***Default Value: array()
** [http://www.php.net/manual/en/language.types.array.php array ] $ordering <br/>An array of fields to order by.  Defaults to the empty array.  Prepend a - to order by in descending order.
***Default Value: array()
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit <br/>Defaults to false.  It true, returns only one result.  If an integer it is the numeber of records to limit to. If it is as an array of two integers, it is the offset and then number of results to limit to.
***Default Value: false
** integer $mod_time <br/>Defaults to -1.  If non-negative, we only list the requested fields for an id if at least one of them has a modification time greater than or equal to $mod_time.  If the form storage has no way of tracking modifucation time, all entries are listed.
***Default Value: -1
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>an array with key id's and value and array of values.  the array of values has as keys the fields with their corresponding value.
===listFields()===
===listFields()===
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L427 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 427
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#listFields() | I2CE_FormStorage_File_Base->listFields()]]
*Signature: public function listFields($form,$fields,$parent,$where_data,$ordering,$limit,$mod_time)
 
*Parameters:
** [http://www.php.net/manual/en/language.types.string.php string ] $form <br/>THe form name
** [http://www.php.net/manual/en/language.types.array.php array ] $fields <br/>of string. The fields we want returned.  Can include the special field 'last_modified' to get the last modification time for any of the fields of that form which is returned in the format  "Y-m-d H:i:s"
** [http://www.php.net/manual/en/language.types.boolean.php boolean ] $parent <br/>Defaults to false.    If it is scalar and non-boolean, it is consider to be the ID of the parent, and then we get all forms with parent the given id. If true, we return the parent as one of the fields.
***Default Value: false
** [http://www.php.net/manual/en/language.types.array.php array ] $where_data <br/>contains the  where clause information about this form or a nested
***Default Value: array()
** [http://www.php.net/manual/en/language.types.array.php array ] $ordering <br/>An array of fields to order by.  Defaults to the empty array.  Prepend a - to order by in descending order.
***Default Value: array()
** [http://www.php.net/manual/en/language.pseudo-types.php mixed ] $limit <br/>Defaults to false.  It true, returns only one result.  If an integer it is the numeber of records to limit to. If it is as an array of two integers, it is the offset and then number of results to limit to.
***Default Value: false
** integer $mod_time <br/>Defaults to -1.  If non-negative, we only list the requested fields for an id if at least one of them has a modification time greater than or equal to $mod_time.  If the form storage has no way of tracking modifucation time, all entries are listed.
***Default Value: -1
*Returns: [http://www.php.net/manual/en/language.pseudo-types.php mixed ]<br/>an array with key id's and value and array of values.  the array of values has as keys the fields with their corresponding value.
===populate()===
===populate()===
Populate the member variables of the object from the Cross Sectional Data Set
This public method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#populate() | I2CE_FormStorage_File_Base->populate()]]
*Defined in [http://bazaar.launchpad.net/~intrahealth+informatics/i2ce/4.0-dev/annotate/head:/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php#L306 i2ce/modules/Forms/modules/FormStorage/modules/FormStorageXML/lib/I2CE_FormStorage_XML_BASE.php] on line 306
 
*Signature: public function populate($form)
===_getFile()===
*Parameters:
This protected method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#_getFile() | I2CE_FormStorage_File_Base->_getFile()]]
** [[Class: I2CE_Form (Development) | I2CE_Form]] $form
 
*Returns: [http://www.php.net/manual/en/language.types.boolean.php boolean ]
===getFileData_mdn()===
==Inherited Methods==
This protected method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getFileData_mdn() | I2CE_FormStorage_File_Base->getFileData_mdn()]]
 
===getFileData_stream()===
This protected method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getFileData_stream() | I2CE_FormStorage_File_Base->getFileData_stream()]]
 
===getFileURIType()===
This protected method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getFileURIType() | I2CE_FormStorage_File_Base->getFileURIType()]]
 
===getLocation()===
This protected method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getLocation() | I2CE_FormStorage_File_Base->getLocation()]]
 
===getSearchCategory()===
This protected method is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#getSearchCategory() | I2CE_FormStorage_File_Base->getSearchCategory()]]
 
===FF_IG_setSequence()===
===FF_IG_setSequence()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#FF_IG_setSequence() | I2CE_FormStorage_Mechanism->FF_IG_setSequence()]]
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#FF_IG_setSequence() | I2CE_FormStorage_Mechanism->FF_IG_setSequence()]]
Line 181: Line 163:
===__construct()===
===__construct()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#__construct() | I2CE_FormStorage_Mechanism->__construct()]]
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#__construct() | I2CE_FormStorage_Mechanism->__construct()]]
===changeID()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#changeID() | I2CE_FormStorage_Mechanism->changeID()]]


===delete()===
===delete()===
Line 190: Line 175:
===getIdsAsChild()===
===getIdsAsChild()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#getIdsAsChild() | I2CE_FormStorage_Mechanism->getIdsAsChild()]]
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#getIdsAsChild() | I2CE_FormStorage_Mechanism->getIdsAsChild()]]
===globalFieldUpdateByFunction()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#globalFieldUpdateByFunction() | I2CE_FormStorage_Mechanism->globalFieldUpdateByFunction()]]
===hasRecord()===
This public method is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#hasRecord() | I2CE_FormStorage_Mechanism->hasRecord()]]


===lookupDisplayField()===
===lookupDisplayField()===
Line 221: Line 212:
This public method is inherited from [[Class: I2CE_Fuzzy (Development)#_hasMethod() | I2CE_Fuzzy->_hasMethod()]]
This public method is inherited from [[Class: I2CE_Fuzzy (Development)#_hasMethod() | I2CE_Fuzzy->_hasMethod()]]
==Inherited Variables==
==Inherited Variables==
===$locations===
Theis protected variable is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#$locations | I2CE_FormStorage_File_Base->$locations]]
===$mod_time===
Theis protected variable is inherited from [[Class: I2CE_FormStorage_File_Base (Development)#$mod_time | I2CE_FormStorage_File_Base->$mod_time]]
===$name===
===$name===
Theis protected variable is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#$name | I2CE_FormStorage_Mechanism->$name]]
Theis protected variable is inherited from [[Class: I2CE_FormStorage_Mechanism (Development)#$name | I2CE_FormStorage_Mechanism->$name]]

Latest revision as of 09:14, 6 May 2015


This article describes the abstract class I2CE_FormStorage_XML_BASE .

  • Author: Carl Leitner <litlfred@ibiblio.org>
  • Since: v4.0.0

@filesource Class I2CE_FormStorage_XML Storage mechanism for reading XML code lists.

Variables

$dom_data

. An array indexed by form names of arrays. array( 'doc' => DOMDocument, 'xpath' => DOMXPath, 'dataset' => DOMNode, )

$id_def

array, indexed by form,with detisl details to pull out id from a node

$fieldData

An array of arrays, indexed by form name, containing the data defining the field

Methods

ensureLocations()

getBaseQuery()

Get the xpath query for the base node containing the data

getDOMData()

Tries to get the DOM for the file

getDataNodesQuery()

Get the xpath query for the data nodes relative to the the containing data

getFieldDataDesc()

Get the field data description for the given form.

getFieldValue()

Get the value based on the given field data @param array $fieldData @param array $dom_data

getFormData()

Process the given node for form data

getLocationId()

Get the id associated to the given node

getNamespaces()

Get the namespaces we should register with xpath

getNodeIdDescription()

release()

Release any resourced held by this form storage mechanism for the indicated form

Inherited Methods

getFile()

This public method is inherited from I2CE_FormStorage_File_Base->getFile()

getFileData()

This public method is inherited from I2CE_FormStorage_File_Base->getFileData()

getFileModTime()

This public method is inherited from I2CE_FormStorage_File_Base->getFileModTime()

getRecords()

This public method is inherited from I2CE_FormStorage_File_Base->getRecords()

isWritable()

This public method is inherited from I2CE_FormStorage_File_Base->isWritable()

listDisplayFields()

This public method is inherited from I2CE_FormStorage_File_Base->listDisplayFields()

listFields()

This public method is inherited from I2CE_FormStorage_File_Base->listFields()

populate()

This public method is inherited from I2CE_FormStorage_File_Base->populate()

_getFile()

This protected method is inherited from I2CE_FormStorage_File_Base->_getFile()

getFileData_mdn()

This protected method is inherited from I2CE_FormStorage_File_Base->getFileData_mdn()

getFileData_stream()

This protected method is inherited from I2CE_FormStorage_File_Base->getFileData_stream()

getFileURIType()

This protected method is inherited from I2CE_FormStorage_File_Base->getFileURIType()

getLocation()

This protected method is inherited from I2CE_FormStorage_File_Base->getLocation()

getSearchCategory()

This protected method is inherited from I2CE_FormStorage_File_Base->getSearchCategory()

FF_IG_setSequence()

This public method is inherited from I2CE_FormStorage_Mechanism->FF_IG_setSequence()

FF_populateHistory()

This public method is inherited from I2CE_FormStorage_Mechanism->FF_populateHistory()

FF_save()

This public method is inherited from I2CE_FormStorage_Mechanism->FF_save()

__construct()

This public method is inherited from I2CE_FormStorage_Mechanism->__construct()

changeID()

This public method is inherited from I2CE_FormStorage_Mechanism->changeID()

delete()

This public method is inherited from I2CE_FormStorage_Mechanism->delete()

getFormsById()

This public method is inherited from I2CE_FormStorage_Mechanism->getFormsById()

getIdsAsChild()

This public method is inherited from I2CE_FormStorage_Mechanism->getIdsAsChild()

globalFieldUpdateByFunction()

This public method is inherited from I2CE_FormStorage_Mechanism->globalFieldUpdateByFunction()

hasRecord()

This public method is inherited from I2CE_FormStorage_Mechanism->hasRecord()

lookupDisplayField()

This public method is inherited from I2CE_FormStorage_Mechanism->lookupDisplayField()

lookupField()

This public method is inherited from I2CE_FormStorage_Mechanism->lookupField()

populateHistory()

This public method is inherited from I2CE_FormStorage_Mechanism->populateHistory()

save()

This public method is inherited from I2CE_FormStorage_Mechanism->save()

search()

This public method is inherited from I2CE_FormStorage_Mechanism->search()

setStorageOptions()

This public method is inherited from I2CE_FormStorage_Mechanism->setStorageOptions()

compareFormsByFields()

This protected method is inherited from I2CE_FormStorage_Mechanism->compareFormsByFields()

getLimitedFields()

This protected method is inherited from I2CE_FormStorage_Mechanism->getLimitedFields()

getStorageOptions()

This protected method is inherited from I2CE_FormStorage_Mechanism->getStorageOptions()

_hasMethod()

This public method is inherited from I2CE_Fuzzy->_hasMethod()

Inherited Variables

$locations

Theis protected variable is inherited from I2CE_FormStorage_File_Base->$locations

$mod_time

Theis protected variable is inherited from I2CE_FormStorage_File_Base->$mod_time

$name

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$name

$global_options

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$global_options

$storage_options_cache

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$storage_options_cache

$ordering

Theis protected variable is inherited from I2CE_FormStorage_Mechanism->$ordering

Inherited Fuzzy Methods

userMessage()

This method is inherited from I2CE_Fuzzy->userMessage()