diff --git a/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangeType.xml b/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangeType.xml index dfbdae8012..b281f4e451 100644 --- a/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangeType.xml +++ b/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangeType.xml @@ -1,5 +1,5 @@ - + @@ -46,7 +46,8 @@ &reftitle.returnvalues; - The type of change which has been made. The change type is expressed as an enumeration and will be one of the following four values: + The type of change which has been made. The change type is expressed as an + enumeration and will be one of the following four values: diff --git a/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangedDataObjects.xml b/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangedDataObjects.xml index 89bb5c4e88..cdac0c8a0f 100644 --- a/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangedDataObjects.xml +++ b/reference/sdo/functions/SDO-DAS-ChangeSummary-getChangedDataObjects.xml @@ -1,5 +1,5 @@ - + @@ -20,7 +20,8 @@ Get an SDO_List of the SDO_DataObjects which have been changed. - These data objects can then be used to identify the types of change made to each, along with the old values. + These data objects can then be used to identify the types + of change made to each, along with the old values. diff --git a/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldContainer.xml b/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldContainer.xml index 4376b6a8b1..699667ce15 100644 --- a/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldContainer.xml +++ b/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldContainer.xml @@ -1,5 +1,5 @@ - + @@ -37,7 +37,8 @@ - The SDO_DataObject which has been deleted and whose container we wish to identify. + The SDO_DataObject which has been deleted and whose + container we wish to identify. diff --git a/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldValues.xml b/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldValues.xml index 77d9bd43e3..2868b62827 100644 --- a/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldValues.xml +++ b/reference/sdo/functions/SDO-DAS-ChangeSummary-getOldValues.xml @@ -1,5 +1,5 @@ - + @@ -23,7 +23,8 @@ Get a list of the old values for a given changed SDO_DataObject. - Returns a list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject. + Returns a list of SDO_DAS_Settings describing the old values for + the changed properties of the SDO_DataObject. @@ -48,7 +49,8 @@ &reftitle.returnvalues; - A list of SDO_DAS_Settings describing the old values for the changed properties of the SDO_DataObject + A list of SDO_DAS_Settings describing the old values for the + changed properties of the SDO_DataObject diff --git a/reference/sdo/functions/SDO-DAS-DataFactory-addPropertyToType.xml b/reference/sdo/functions/SDO-DAS-DataFactory-addPropertyToType.xml index d8e1473216..e2c20585ef 100644 --- a/reference/sdo/functions/SDO-DAS-DataFactory-addPropertyToType.xml +++ b/reference/sdo/functions/SDO-DAS-DataFactory-addPropertyToType.xml @@ -1,5 +1,5 @@ - + @@ -118,7 +118,8 @@ A flag to say whether the property is many-valued. - A value of 'true' adds the property as a many-valued property (default is 'false') + A value of 'true' adds the property as a many-valued property + (default is 'false') @@ -129,7 +130,8 @@ A flag to say whether the property is read-only. - A value of 'true' means the property value cannot be modified through the SDO application APIs (default is 'false') + A value of 'true' means the property value cannot be modified + through the SDO application APIs (default is 'false') @@ -141,8 +143,10 @@ A flag to say whether the property is contained by the parent. A value of 'true' means the property is contained by the parent. - A value of 'false' results in a non-containment reference (default is 'true'). - This flag is only interpreted when adding properties which are data object types, otherwise it is ignored. + A value of 'false' results in a non-containment reference + (default is 'true'). + This flag is only interpreted when adding properties which + are data object types, otherwise it is ignored. diff --git a/reference/sdo/functions/SDO-DAS-DataFactory-addType.xml b/reference/sdo/functions/SDO-DAS-DataFactory-addType.xml index 511bc91936..608567c77b 100644 --- a/reference/sdo/functions/SDO-DAS-DataFactory-addType.xml +++ b/reference/sdo/functions/SDO-DAS-DataFactory-addType.xml @@ -1,5 +1,5 @@ - + @@ -26,8 +26,10 @@ &warn.experimental.func; - Add a new type to the SDO_DAS_DataFactory, defined by its namespace and type name. - The type becomes part of the model of data objects that the data factory can create. + Add a new type to the SDO_DAS_DataFactory, + defined by its namespace and type name. + The type becomes part of the model of data objects + that the data factory can create. diff --git a/reference/sdo/functions/SDO-DAS-DataFactory-getDataFactory.xml b/reference/sdo/functions/SDO-DAS-DataFactory-getDataFactory.xml index bbe5800433..1ffac49a3e 100644 --- a/reference/sdo/functions/SDO-DAS-DataFactory-getDataFactory.xml +++ b/reference/sdo/functions/SDO-DAS-DataFactory-getDataFactory.xml @@ -1,5 +1,5 @@ - + @@ -20,11 +20,13 @@ &warn.experimental.func; - Static method to get an instance of an SDO_DAS_DataFactory. This instance is initially only - configured with the basic SDO types. A Data Access Service is responsible for populating - the data factory model and then allowing PHP applications to create SDOs based on the model - through the SDO_DataFactory interface. - PHP applications should always obtain a data factory from a configured Data Access Service, not through this interface. + Static method to get an instance of an SDO_DAS_DataFactory. + This instance is initially only configured with the basic SDO types. + A Data Access Service is responsible for populating + the data factory model and then allowing PHP applications + to create SDOs based on the model through the SDO_DataFactory interface. + PHP applications should always obtain a data factory from a + configured Data Access Service, not through this interface. diff --git a/reference/sdo/functions/SDO-DAS-DataObject-getChangeSummary.xml b/reference/sdo/functions/SDO-DAS-DataObject-getChangeSummary.xml index 833f6da719..c8aa3ca1fd 100644 --- a/reference/sdo/functions/SDO-DAS-DataObject-getChangeSummary.xml +++ b/reference/sdo/functions/SDO-DAS-DataObject-getChangeSummary.xml @@ -1,5 +1,5 @@ - + @@ -19,7 +19,8 @@ &warn.experimental.func; - Get the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one. + Get the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, + or NULL if it does not have one. @@ -32,7 +33,8 @@ &reftitle.returnvalues; - Returns the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it does not have one. + Returns the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, + or NULL if it does not have one. diff --git a/reference/sdo/functions/SDO-DAS-Setting-getListIndex.xml b/reference/sdo/functions/SDO-DAS-Setting-getListIndex.xml index 72847af20a..88e5dfe583 100644 --- a/reference/sdo/functions/SDO-DAS-Setting-getListIndex.xml +++ b/reference/sdo/functions/SDO-DAS-Setting-getListIndex.xml @@ -1,5 +1,5 @@ - + @@ -19,8 +19,12 @@ &warn.experimental.func; - Get the list index for a modification made to an element of a many-valued property. For example, if we modified the third element of a many-valued property - we could obtain an SDO_DAS_Setting from the change summary corresponding to that modification. + Get the list index for a modification made to an element of a + many-valued property. + For example, if we modified the third element of a + many-valued property + we could obtain an SDO_DAS_Setting from the + change summary corresponding to that modification. A call to getListIndex on that setting would return the value 2 (lists are indexed from zero). @@ -36,7 +40,8 @@ &reftitle.returnvalues; - The list index for the element of the many-valued property which has been changed. + The list index for the element of the many-valued property which + has been changed. diff --git a/reference/sdo/functions/SDO-DAS-Setting-getPropertyIndex.xml b/reference/sdo/functions/SDO-DAS-Setting-getPropertyIndex.xml index 5ac1da8fed..2b7825ae1d 100644 --- a/reference/sdo/functions/SDO-DAS-Setting-getPropertyIndex.xml +++ b/reference/sdo/functions/SDO-DAS-Setting-getPropertyIndex.xml @@ -1,5 +1,5 @@ - + @@ -19,7 +19,8 @@ &warn.experimental.func; - Returns the property index for the changed property. This index identifies the property which was modified in data object. + Returns the property index for the changed property. + This index identifies the property which was modified in data object. diff --git a/reference/sdo/functions/SDO-DAS-Setting-getPropertyName.xml b/reference/sdo/functions/SDO-DAS-Setting-getPropertyName.xml index 2a3ba6d1ac..70c84e2c5d 100644 --- a/reference/sdo/functions/SDO-DAS-Setting-getPropertyName.xml +++ b/reference/sdo/functions/SDO-DAS-Setting-getPropertyName.xml @@ -1,5 +1,5 @@ - + @@ -19,7 +19,8 @@ &warn.experimental.func; - Returns the property name for the changed property. This name identifies the property which was modified in data object. + Returns the property name for the changed property. + This name identifies the property which was modified in data object. diff --git a/reference/sdo/functions/SDO-DAS-Setting-getValue.xml b/reference/sdo/functions/SDO-DAS-Setting-getValue.xml index d93784cd6b..6d54f2ce9f 100644 --- a/reference/sdo/functions/SDO-DAS-Setting-getValue.xml +++ b/reference/sdo/functions/SDO-DAS-Setting-getValue.xml @@ -1,5 +1,5 @@ - + @@ -20,9 +20,12 @@ Returns the old value for the changed property. - This can be used by a Data Access Service when writing updates to a data source. - The DAS uses the old value to detect conflicts by comparing it with the current value in the data source. - If they do not match, then the data source has been updated since the data object was originally populated, and therefore + This can be used by a Data Access Service when + writing updates to a data source. + The DAS uses the old value to detect conflicts by comparing + it with the current value in the data source. + If they do not match, then the data source has been updated + since the data object was originally populated, and therefore writing any new updates risks compromising the integrity of the data. diff --git a/reference/sdo/functions/SDO-DAS-Setting-isSet.xml b/reference/sdo/functions/SDO-DAS-Setting-isSet.xml index d81fc3a46c..60a138fed7 100644 --- a/reference/sdo/functions/SDO-DAS-Setting-isSet.xml +++ b/reference/sdo/functions/SDO-DAS-Setting-isSet.xml @@ -1,5 +1,5 @@ - + @@ -20,7 +20,8 @@ Test whether a property was set prior to being modified. - If it was set prior to being modified then the SDO_DAS_Setting will also contain the old value. + If it was set prior to being modified then the SDO_DAS_Setting + will also contain the old value. @@ -33,7 +34,8 @@ &reftitle.returnvalues; - Returns &true; if the property was set prior to being modified, otherwise returns &false;. + Returns &true; if the property was set prior to being modified, + otherwise returns &false;. diff --git a/reference/sdo/functions/SDO-DataFactory-create.xml b/reference/sdo/functions/SDO-DataFactory-create.xml index 9eac026e39..9b71ee2f4a 100644 --- a/reference/sdo/functions/SDO-DataFactory-create.xml +++ b/reference/sdo/functions/SDO-DataFactory-create.xml @@ -1,5 +1,5 @@ - + @@ -26,7 +26,8 @@ &warn.experimental.func; - Create a new SDO_DataObject given the data object's namespace URI and type name. + Create a new SDO_DataObject given the data object's + namespace URI and type name. @@ -74,7 +75,8 @@ - Thrown if the namespaceURI and typeName do not correspond to a type known to this data factory. + Thrown if the namespaceURI and typeName do not + correspond to a type known to this data factory. diff --git a/reference/sdo/functions/SDO-DataObject-clear.xml b/reference/sdo/functions/SDO-DataObject-clear.xml index 4116e4ed57..24c06fb684 100644 --- a/reference/sdo/functions/SDO-DataObject-clear.xml +++ b/reference/sdo/functions/SDO-DataObject-clear.xml @@ -1,5 +1,5 @@ - + @@ -19,7 +19,8 @@ &warn.experimental.func; - Clear an SDO_DataObject's properties. Read-only properties are unaffected. + Clear an SDO_DataObject's properties. + Read-only properties are unaffected. Subsequent calls to isset() for the data object will return &false;. diff --git a/reference/sdo/functions/SDO-DataObject-createDataObject.xml b/reference/sdo/functions/SDO-DataObject-createDataObject.xml index e49dec51cf..db03539f49 100644 --- a/reference/sdo/functions/SDO-DataObject-createDataObject.xml +++ b/reference/sdo/functions/SDO-DataObject-createDataObject.xml @@ -1,5 +1,5 @@ - + @@ -22,8 +22,10 @@ &warn.experimental.func; - Create a child SDO_DataObject of the default type for the property identified. - The data object is automatically inserted into the tree and a reference to it is returned. + Create a child SDO_DataObject of the default type for the + property identified. + The data object is automatically inserted into the tree + and a reference to it is returned. @@ -38,7 +40,8 @@ - Identifies the property for the data object type to be created. Can be either a property name (string), + Identifies the property for the data object type to be created. + Can be either a property name (string), or property index (int). @@ -63,7 +66,8 @@ - Thrown if the identifier does not correspond to a property of the data object. + Thrown if the identifier does not correspond to a + property of the data object. diff --git a/reference/sdo/functions/SDO-DataObject-getContainer.xml b/reference/sdo/functions/SDO-DataObject-getContainer.xml index 05b003bb3b..149f40c687 100644 --- a/reference/sdo/functions/SDO-DataObject-getContainer.xml +++ b/reference/sdo/functions/SDO-DataObject-getContainer.xml @@ -1,5 +1,5 @@ - + @@ -22,7 +22,6 @@ Get the data object which contains this data object. - &reftitle.parameters; @@ -33,8 +32,9 @@ &reftitle.returnvalues; - Returns the SDO_DataObject which contains this SDO_DataObject, or returns NULL - if this is a root SDO_DataObject (i.e. it has no container). + Returns the SDO_DataObject which contains this SDO_DataObject, + or returns NULL if this is a root SDO_DataObject + (i.e. it has no container). diff --git a/reference/sdo/functions/SDO-DataObject-getContainmentPropertyName.xml b/reference/sdo/functions/SDO-DataObject-getContainmentPropertyName.xml index d46c342821..3e11aa1e5c 100644 --- a/reference/sdo/functions/SDO-DataObject-getContainmentPropertyName.xml +++ b/reference/sdo/functions/SDO-DataObject-getContainmentPropertyName.xml @@ -1,5 +1,5 @@ - + @@ -19,7 +19,8 @@ &warn.experimental.func; - Get the property name used to refer to this data object by its containing data object. + Get the property name used to refer to this data object + by its containing data object. @@ -32,7 +33,10 @@ &reftitle.returnvalues; - Returns the name of the container's property which references this SDO_DataObject, or returns NULL if this is a root SDO_DataObject (i.e. it has no container). + Returns the name of the container's property which references + this SDO_DataObject, + or returns NULL if this is a root SDO_DataObject + (i.e. it has no container). diff --git a/reference/sdo/functions/SDO-DataObject-getSequence.xml b/reference/sdo/functions/SDO-DataObject-getSequence.xml index 6e3eab1bf2..92e1469ad3 100644 --- a/reference/sdo/functions/SDO-DataObject-getSequence.xml +++ b/reference/sdo/functions/SDO-DataObject-getSequence.xml @@ -1,5 +1,5 @@ - + @@ -19,9 +19,10 @@ &warn.experimental.func; - Return the SDO_Sequence for this SDO_DataObject. Accessing the SDO_DataObject - through the SDO_Sequence interface acts on the same SDO_DataObject instance - data, but preserves ordering across properties. + Return the SDO_Sequence for this SDO_DataObject. + Accessing the SDO_DataObject through the SDO_Sequence interface + acts on the same SDO_DataObject instance data, + but preserves ordering across properties. diff --git a/reference/sdo/functions/SDO-DataObject-getType.xml b/reference/sdo/functions/SDO-DataObject-getType.xml index 557d9af6bb..6d45ee778b 100644 --- a/reference/sdo/functions/SDO-DataObject-getType.xml +++ b/reference/sdo/functions/SDO-DataObject-getType.xml @@ -1,5 +1,5 @@ - + @@ -34,7 +34,8 @@ &reftitle.returnvalues; - An array containing the namespace URI string and the type name string for the data object. + An array containing the namespace URI string and the type name + string for the data object. @@ -79,14 +80,15 @@ A <function>SDO_DataObject::getType</function> -example + example + -For example, if the SDO_DataObject were of type 'CompanyType' from -the namespace 'CompanyNS', then getType() would return the equivalent to -array('CompanyNS', 'CompanyType'): + For example, if the SDO_DataObject were of type 'CompanyType' from + the namespace 'CompanyNS', then getType() would return the equivalent to + array('CompanyNS', 'CompanyType'): - getType(); echo "Namespace: $do_type[0], Type Name: $do_type[1]"; @@ -95,7 +97,7 @@ array('CompanyNS', 'CompanyType'): &example.outputs; - diff --git a/reference/sdo/functions/SDO-List-insert.xml b/reference/sdo/functions/SDO-List-insert.xml index 4023c03a13..e7ef8323fa 100644 --- a/reference/sdo/functions/SDO-List-insert.xml +++ b/reference/sdo/functions/SDO-List-insert.xml @@ -1,5 +1,5 @@ - + @@ -26,7 +26,8 @@ &warn.experimental.func; - Insert a new element at a specified position in the list. All subsequent list items are moved up. + Insert a new element at a specified position in the list. + All subsequent list items are moved up. @@ -40,7 +41,8 @@ - The new value to be inserted. This can be either a primitive or an SDO_DataObject. + The new value to be inserted. + This can be either a primitive or an SDO_DataObject. @@ -50,7 +52,8 @@ - The position at which to insert the new element. If this argument is not specified then the new value will be appended. + The position at which to insert the new element. + If this argument is not specified then the new value will be appended. @@ -74,7 +77,8 @@ - Thrown if the list index is less than zero or greater than the size of the list. + Thrown if the list index is less than zero or greater + than the size of the list. @@ -84,7 +88,9 @@ - Thrown if the type of the new value does not match the type for the list (e.g. the type of the many-valued property that the list represents). + Thrown if the type of the new value does not match the type + for the list + (e.g. the type of the many-valued property that the list represents). diff --git a/reference/sdo/functions/SDO-Sequence-getPropertyIndex.xml b/reference/sdo/functions/SDO-Sequence-getPropertyIndex.xml index 96d1fe34d0..6a2118a795 100644 --- a/reference/sdo/functions/SDO-Sequence-getPropertyIndex.xml +++ b/reference/sdo/functions/SDO-Sequence-getPropertyIndex.xml @@ -1,5 +1,5 @@ - + @@ -23,7 +23,8 @@ Return the property index for the specified sequence index. - If the sequence item is unstructured text rather than a data object property, then a value of -1 is returned. + If the sequence item is unstructured text rather than a + data object property, then a value of -1 is returned. @@ -37,7 +38,8 @@ - The sequence index for which we wish to determine the associated data object property index. + The sequence index for which we wish to determine + the associated data object property index. @@ -47,7 +49,8 @@ &reftitle.returnvalues; - The corresponding property index. A value of -1 means the element does not belong to a property and must therefore be unstructured text. + The corresponding property index. A value of -1 means the element + does not belong to a property and must therefore be unstructured text. @@ -61,7 +64,8 @@ - Thrown if the sequence index is less than zero or greater than the size of the sequence. + Thrown if the sequence index is less than zero or greater than the + size of the sequence. diff --git a/reference/sdo/functions/SDO-Sequence-getPropertyName.xml b/reference/sdo/functions/SDO-Sequence-getPropertyName.xml index f965fb9bac..b184711e68 100644 --- a/reference/sdo/functions/SDO-Sequence-getPropertyName.xml +++ b/reference/sdo/functions/SDO-Sequence-getPropertyName.xml @@ -1,5 +1,5 @@ - + @@ -23,7 +23,8 @@ Return the property name for the specified sequence index. - If the sequence item is unstructured text rather than a data object property, then a value of NULL is returned. + If the sequence item is unstructured text rather than a + data object property, then a value of NULL is returned. @@ -38,7 +39,8 @@ - The sequence index for which we wish to determine the associated data object property name. + The sequence index for which we wish to determine the associated + data object property name. @@ -48,7 +50,9 @@ &reftitle.returnvalues; - The corresponding property name. A value of NULL means the element does not belong to a property and must therefore be unstructured text. + The corresponding property name. + A value of NULL means the element does not belong to a property + and must therefore be unstructured text. @@ -62,7 +66,8 @@ - Thrown if the sequence index is less than zero or greater than the size of the sequence. + Thrown if the sequence index is less than zero or greater than the + size of the sequence. diff --git a/reference/sdo/functions/SDO-Sequence-insert.xml b/reference/sdo/functions/SDO-Sequence-insert.xml index 26ccd0a863..aeaae96dd6 100644 --- a/reference/sdo/functions/SDO-Sequence-insert.xml +++ b/reference/sdo/functions/SDO-Sequence-insert.xml @@ -1,5 +1,5 @@ - + @@ -30,7 +30,8 @@ &warn.experimental.func; - Insert a new element at a specified position in the sequence. All subsequent sequence items are moved up. + Insert a new element at a specified position in the sequence. + All subsequent sequence items are moved up. @@ -44,7 +45,8 @@ - The new value to be inserted. This can be either a primitive or an SDO_DataObject. + The new value to be inserted. + This can be either a primitive or an SDO_DataObject. @@ -54,7 +56,9 @@ - The position at which to insert the new element. Default is NULL, which results in the new value being appended to the sequence. + The position at which to insert the new element. + Default is NULL, which results in the new value being + appended to the sequence. @@ -64,7 +68,10 @@ - Either a property index or property name, used to identify a property in the sequence's corresponding SDO_DataObject. A value of NULL signifies unstructured text. + Either a property index or property name, + used to identify a property in the sequence's + corresponding SDO_DataObject. + A value of NULL signifies unstructured text. @@ -89,7 +96,8 @@ - Thrown if the sequence index is less than zero or greater than the size of the sequence. + Thrown if the sequence index is less than + zero or greater than the size of the sequence. @@ -99,7 +107,8 @@ - Thrown if the type of the new value cannot be juggled to match the type for the specified data object property. + Thrown if the type of the new value cannot be juggled + to match the type for the specified data object property. diff --git a/reference/sdo/functions/SDO-Sequence-move.xml b/reference/sdo/functions/SDO-Sequence-move.xml index 8d6cc05631..940677de19 100644 --- a/reference/sdo/functions/SDO-Sequence-move.xml +++ b/reference/sdo/functions/SDO-Sequence-move.xml @@ -1,5 +1,5 @@ - + @@ -26,7 +26,8 @@ &warn.experimental.func; - Modify the position of the item in the sequence, without altering the value of the property in the SDO_DataObject. + Modify the position of the item in the sequence, + without altering the value of the property in the SDO_DataObject. @@ -40,7 +41,9 @@ - The destination sequence index. If this index is less than zero or greater than the size of the sequence then the value is appended. + The destination sequence index. + If this index is less than zero or greater than the + size of the sequence then the value is appended. @@ -75,7 +78,8 @@ - Thrown if the fromIndex sequence index is less than zero or greater than the size of the sequence. + Thrown if the fromIndex sequence index is less than zero + or greater than the size of the sequence. diff --git a/reference/sdo/reference.xml b/reference/sdo/reference.xml index 6657a7e4e5..524077afb7 100644 --- a/reference/sdo/reference.xml +++ b/reference/sdo/reference.xml @@ -1,5 +1,5 @@ - + SDO Functions @@ -19,30 +19,35 @@ hetergeneous data sources, such as relational databases and XML. - SDOs are based on the concept of disconnected data graphs. A data - graph is a tree structure of data objects, navigable via their containment - references. A containment reference is an aggregation relationship. For - example, a Company data object might consists of a number of Department - data objects and therefore the Company would have a containment - reference to the Departments. A data graph also allows non-containment - references. These are references between data objects within the same - tree. For example, one Employee data object might reference another + SDOs are based on the concept of disconnected data graphs. + A data graph is a tree structure of data objects, navigable via their + containment references. + A containment reference is an aggregation relationship. + For example, a Company data object might consists of a number of + Department data objects and therefore the Company would have + a containment reference to the Departments. + A data graph also allows non-containment references. + These are references between data objects within the same tree. + For example, one Employee data object might reference another to identify a career mentor. The task of connecting an application to a data source is - performed by a Data Access Service (DAS). Applications use a DAS to retrieve - an SDO from a data source. The application can then manipulate the - SDO and use a DAS to write it back to the same, or an alternative, - data source. + performed by a Data Access Service (DAS). + Applications use a DAS to retrieve an SDO from a data source. + The application can then manipulate the SDO and use a DAS to write + it back to the same, or an alternative, data source. See the list of Data Access Services for details on those currently available. In addition to the provided DASs, SDO also - provides interfaces to enable others to be implemented (see the section on - SDO Data Access Services Interface + provides interfaces to enable others to be implemented + (see the section on + + SDO Data Access Services Interface + for more details). @@ -72,15 +77,19 @@ &reftitle.install; - An automated installation process using PEAR will be supplied soon. - Meanwhile, you can build the extension manually using the steps below. + An automated installation process using PEAR will be + supplied soon. + Meanwhile, you can build the extension manually using the + steps below. Linux intallation steps - The following instructions describe how to install the SDO extension on Linux. Note, these - steps will also install the + The following instructions describe how to install the + SDO extension + on Linux. + Note, these steps will also install the XML Data Access Service which is packaged as part of this extension. @@ -99,7 +108,8 @@ - The SDO and SDO_DAS_XML are implemented as a separate internal 'core' C++ libraries which must be built before building the main extension. + The SDO and SDO_DAS_XML are implemented as a separate internal 'core' + C++ libraries which must be built before building the main extension. This can be done by using the following steps: @@ -152,7 +162,8 @@ Run phpize - , which will set up the environment to compile both SDO and the XML Data Access Service. + , which will set up the environment to compile both SDO and the + XML Data Access Service. @@ -161,7 +172,8 @@ ./configure; make; make install - Note, the compilation process checks for internal 'core' library which was installed in the previous build steps. + Note, the compilation process checks for internal 'core' library + which was installed in the previous build steps. Note, if you used @@ -206,7 +218,8 @@ An XML Data Access Service supporting reading/writing - SDOs as XML documents or via a Web URL to supporting things like RSS feeds. + SDOs as XML documents or via a Web URL to supporting things like + RSS feeds. @@ -214,8 +227,9 @@ SDO_DAS_Relational - A PDO-based Data Access Service supporting reading/writing SDO to relational - data sources. Implements an optimistic concurrency policy for updates. + A PDO-based Data Access Service supporting reading/writing SDO + to relational data sources. + Implements an optimistic concurrency policy for updates. @@ -238,27 +252,33 @@ - The class constants SDO_DAS_ChangeSummary::NONE, SDO_DAS_ChangeSummary::MODIFICATION, - SDO_DAS_ChangeSummary::ADDITION, SDO_DAS_ChangeSummary::DELETION are unavailable, + The class constants SDO_DAS_ChangeSummary::NONE, + SDO_DAS_ChangeSummary::MODIFICATION, + SDO_DAS_ChangeSummary::ADDITION, + SDO_DAS_ChangeSummary::DELETION are unavailable, because of an outstanding problem. - As a bypass, the global constants SDO_DAS_CHANGE_SUMMARY_NONE, - SDO_DAS_CHANGE_SUMMARY_MODIFICATION, SDO_DAS_CHANGE_SUMMARY_ADDITION, + As a bypass, the global constants + SDO_DAS_CHANGE_SUMMARY_NONE, + SDO_DAS_CHANGE_SUMMARY_MODIFICATION, + SDO_DAS_CHANGE_SUMMARY_ADDITION, SDO_DAS_CHANGE_SUMMARY_DELETION are provided. - You may see problems when serializing and unserializing graphs which include - non-containment references. We are working on these. + You may see problems when serializing and unserializing graphs + which include non-containment references. + We are working on these. SDO Limitations - The following SDO 2.0 concepts are not supported in the current PHP implementation. + The following SDO 2.0 concepts are not supported in the current + PHP implementation. It is not necessarily the case that these will all be added over time. Their inclusion will depend on community requirements. @@ -317,11 +337,14 @@ and instance information shown below, using the XML Data Access Service. - The schema describes a company data object. The company contains department data objects, and + The schema describes a company data object. + The company contains department data objects, and each department contains employee data objects. - Each data object has a number of primitive properties to describe things like name, serial number, etc. - Finally, the company data object also has a non-containment reference to one of the employee data - objects to identify them as the 'employeeOfTheMonth'. + Each data object has a number of primitive properties to describe things + like name, serial number, etc. + Finally, the company data object also has a non-containment reference + to one of the employee data objects to identify them as the + 'employeeOfTheMonth'. @@ -359,10 +382,12 @@ sdoxml:propertyType="company:EmployeeType"/> - The instance document below describes a single company, called 'MegaCorp', - which contains a single department, called 'Advanced Technologies'. + The instance document below describes a single company, + called 'MegaCorp', which contains a single department, + called 'Advanced Technologies'. The Advanced Technologies department contains three employees. - The company employeeOfTheMonth is referencing the second employee, 'Jane Doe'. + The company employeeOfTheMonth is referencing the second employee, + 'Jane Doe'. @@ -394,8 +419,9 @@ sdoxml:propertyType="company:EmployeeType"/> Access via Property names Data object properties can be accessed using the object property - access syntax. The following gets the list of departments (containing a - single department), and sets the company name to 'Acme'. + access syntax. The following gets the list of departments + (containing a single department), + and sets the company name to 'Acme'. Data object properties can be accessed via their property index using array syntax. The property index is the position at which the - property's definition appears in the model (in this case the xml schema). - We can see from the schema listing above that the departments element is the - first company property defined and the company name attribute is the second - company property (the SDO interface makes no distinction between XML attributes - and elements). The following gets the list of departments (containing a + property's definition appears in the model + (in this case the xml schema). + We can see from the schema listing above that the departments element + is the first company property defined and the company name attribute + is the second company property + (the SDO interface makes no distinction between XML attributes and + elements). + The following gets the list of departments (containing a single department), and sets the company name to 'Acme'. @@ -437,8 +466,8 @@ sdoxml:propertyType="company:EmployeeType"/> Data Object Iteration We can iterate over the properties of a data object using foreach. - The following iterates over the company properties; name, departments and - employeeOfTheMonth. + The following iterates over the company properties; name, + departments and employeeOfTheMonth. Simple XPath support We can access properties using XPath-like (an augmented - sub-set of XPath) expressions, the simplest form of which is the property - name. The following sets the company name and gets the employeeOfTheMonth. + sub-set of XPath) expressions, the simplest form of which is the + property name. + The following sets the company name and gets the employeeOfTheMonth. XPath Navigation We can use XPath expressions to navigate the data object - instance structure. Two forms of indexing into many-valued properties are - supported. The first is the standard XPath array syntax with the indexing + instance structure. Two forms of indexing into many-valued + properties are supported. + The first is the standard XPath array syntax with the indexing starting at one, the second is an SDO extension to XPath with an index starting at zero. The following both get the second employee from the first department. @@ -606,9 +637,10 @@ sdoxml:propertyType="company:EmployeeType"/> Creating child data object - A data object can be a factory for its child data objects. A child - data object is automatically part of the data graph. The - following add a new employee to the 'Advanced Technologies' department. + A data object can be a factory for its child data objects. + A child data object is automatically part of the data graph. + The following add a new employee to the 'Advanced Technologies' + department. The following removes the 'employeeOfTheMonth' from the company. If this were a containment reference then the - employee would be removed from the company (probably not a good idea to - sack your best employee each month!), but since this is a non-containment - reference, the employee being referenced will remain in the department in - the company, but will no longer be accessible via the employeeOfTheMonth - property. + employee would be removed from the company + (probably not a good idea to sack your best employee each month!), + but since this is a non-containment reference, + the employee being referenced will remain in the + department in the company, + but will no longer be accessible via the employeeOfTheMonth property. To ensure sequence indices are maintained, sequenced data objects - should be manipulated through the SDO_Sequence interface. This allows - the data object's instance data to be manipulated in terms of the sequence - index as opposed to the property index (shown in the table above). The - following examples assume the letter instance has been loaded into a - data object referenced by the variable + should be manipulated through the SDO_Sequence interface. + This allows the data object's instance data to be manipulated + in terms of the sequence index as opposed to the property index + (shown in the table above). + The following examples assume the letter instance has been + loaded into a data object referenced by the variable $letter . @@ -816,10 +850,11 @@ sdoxml:propertyType="company:EmployeeType"/> Get/set sequence values - We can get and set individual values (including unstructured text) - using the sequence index. The following sets the firstName to 'Snappy' - and gets the last sequence values (the unstructured text, 'Your premium is - past due.'). + We can get and set individual values + (including unstructured text) + using the sequence index. + The following sets the firstName to 'Snappy' and gets the last + sequence values (the unstructured text, 'Your premium is past due.'). SDO_Sequence::insert - method. The following examples assume that the 'firstName' and 'lastName' properties are initially unset. + method. The following examples assume that the 'firstName' and + 'lastName' properties are initially unset. - getType - get the type of a data object + getType + - get the type of a data object - getSequnece - get the sequence for the data object + getSequnece + - get the sequence for the data object - createDataObject - create a child data object + createDataObject + - create a child data object - clear - unset the properties of a data object + clear + - unset the properties of a data object - getContainer - get the container (also known as 'parent') of this data object + getContainer + - get the container (also known as 'parent') of this data object - getContainmentPropertyName - get the name by which the parent refers to this data object + + getContainmentPropertyName + + - get the name by which the parent refers to this data object @@ -1022,9 +1066,10 @@ sdoxml:propertyType="company:EmployeeType"/> The interface through which sequenced data objects can be accessed in - order to preserve ordering across a data object's properties and to allow - unstructured text. SDO_Sequence preserves contiguous indices and - therefore inserting or removing elements may results in other elements shifted up or + order to preserve ordering across a data object's properties and + to allow unstructured text. + SDO_Sequence preserves contiguous indices and therefore inserting + or removing elements may results in other elements shifted up or down. In addition to the methods below, SDO_Sequence extends the ArrayAccess, Iterator and Countable interface. @@ -1033,22 +1078,30 @@ sdoxml:propertyType="company:EmployeeType"/> - getPropertyIndex - get the property index for a given sequence index + + getPropertyIndex + + - get the property index for a given sequence index - getPropertyName - get the property name for a given sequence index + + getPropertyName + + - get the property name for a given sequence index - move - move an element from one property index to another + move + - move an element from one property index to another - insert - insert a new value into the sequence + insert + - insert a new value into the sequence @@ -1071,7 +1124,8 @@ sdoxml:propertyType="company:EmployeeType"/> - insert - insert a new value into the list + insert + - insert a new value into the list @@ -1083,19 +1137,21 @@ sdoxml:propertyType="company:EmployeeType"/> SDO_DataFactory - The interface through which data objects can be created. A Data - Access Service is responsible for populating the model (i.e. configuring - the data factory with the type and structure information for the data - objects it can create.) for the factory and - can then optionally return an instance of, or implement, the - SDO_DataFactory interface. + The interface through which data objects can be created. + A Data Access Service is responsible for populating the model + (i.e. configuring the data factory with the type and structure + information for the data objects it can create.) + for the factory and can then optionally return an instance of, + or implement, + the SDO_DataFactory interface.
&reftitle.methods; - create - create a new data object + create + - create a new data object @@ -1115,16 +1171,23 @@ sdoxml:propertyType="company:EmployeeType"/> SDO_DAS_DataObject - The interface through which a Data Access Service can access a data object's - SDO_DAS_ChangeSummary. - The change summary is used by the Data Access Service to check for conflicts - when applying changes back to a data source. + The interface through which a Data Access Service can access + a data object's + + SDO_DAS_ChangeSummary + + . + The change summary is used by the Data Access Service to check for + conflicts when applying changes back to a data source.
&reftitle.methods; - getChangeSummary - get the change summary for a data object + + getChangeSummary + + - get the change summary for a data object @@ -1147,7 +1210,8 @@ sdoxml:propertyType="company:EmployeeType"/> If logging is no longer active then the change summary only hold changes made up to the point when - logging was deactivated. Reactivating logging clears the change summary. + logging was deactivated. + Reactivating logging clears the change summary. This is useful when a set of changes have been written out by a DAS and the data object is to be reused. @@ -1156,37 +1220,58 @@ sdoxml:propertyType="company:EmployeeType"/> - beginLogging - begin logging changes made to a data object + + beginLogging + + - begin logging changes made to a data object - endLogging - end logging changes made to a data object + + endLogging + + - end logging changes made to a data object - isLogging - test to see if change logging is on + + isLogging + + - test to see if change logging is on - getChangedDataObjects - get a list of the data objects which have been changed + + getChangedDataObjects + + - get a list of the data objects which have been changed - getChangeType - get the type of change which has been made to a data object + + getChangeType + + - get the type of change which has been made to a data object - getOldValues - get a list of old values for a data object + + getOldValues + + - get a list of old values for a data object - getOldContainer - get the old container data object for a deleted data object + + getOldContainer + + - get the old container data object for a deleted data object @@ -1210,28 +1295,43 @@ sdoxml:propertyType="company:EmployeeType"/> - getPropertyIndex - get the property index for the changed property + + getPropertyIndex + + - get the property index for the changed property - getPropertyName - get the property name for the changed property + + getPropertyName + + - get the property name for the changed property - getValue - get the old value for the changed property + + getValue + + - get the old value for the changed property - getListIndex - get the list index for the old value if it was part of - a many-valued property + + getListIndex + + - get the list index for the old value if it was part of a + many-valued property - isSet - test to see if the property was set prior to being modified + + isSet + + - test to see if the property was set prior to being modified @@ -1246,7 +1346,8 @@ sdoxml:propertyType="company:EmployeeType"/> The interface for constructing the model for an SDO_DataObject. The SDO_DAS_DataFactory is an abstract class providing a static method which returns a concrete data factory implementation. - The implementation is used by Data Access Services to create an SDO model from their model. + The implementation is used by Data Access Services to create an + SDO model from their model. For example, a Relational Data Access Service might create and populate an SDO_DAS_DataFactory model based on a schema for a relational database. @@ -1255,21 +1356,30 @@ sdoxml:propertyType="company:EmployeeType"/> - getDataFactory - static methods for getting a concrete data factory instance + + getDataFactory + + - static methods for getting a concrete data factory instance - addType - add a new type to the SDO model + + addType + + - add a new type to the SDO model - addPropertyToType - add a new property to a type definition in the SDO model + + addPropertyToType + + - add a new property to a type definition in the SDO model