A number of SDO issues have come up over the past week regarding sequenced
data objects. I think the current implementation is incorrect in a number of
ways.

For a sequenced data object you can use the "sequence api" to get/set the
values of properties in the sequence. You can also use the standard setXXX
methods on DataObject to set the properties. If you do this, however, then
the values are not added to the sequence. This is incorrect.

The sequence is a sequence of 'elements' in XML terms. Properties that are
defined as attributes should be set using the normal setXXX methods and
should NOT be added to the sequence. They will not be returned when using
the get methods from the sequence api.

Properties that are defined to an open type when loading a schemaless xml
document should have PropertyInformation attached to indicate whether the
property is an attribute or element.

Properties that are not defined via DataFactory::addPropertyToType should be
treated as elements and added to the sequence.
The CopyHelper will have to copy the sequenced SDO by using the sequence API
and then using the DataObject getter/setted methods to copy properties that
were xml attributes.

Any other thoughts?

--
Pete

Reply via email to