Figure A.1 shows the SerializationValue DataType structure generated by the Server for a SerializationScope with a Variable having other Variables as components, and one of these Variables also has Variables as components. The illustration shows how the descend into the depth of the subtree originating from the SerializationStartNode causes the SerializationValue DataType to exhibit nested sub-structures mapping the corresponding part of the subtree.

On top level, the Value of “MyVariable” is mapped into the “Value” field, whereas the components of “MyVariable” are mapped into the MyVariableChildrenDataType “Children” field. Since each field of this structure represents one component of “MyVariable”, the two fields are “Variable1” and “Property1”. Since “Variable1” has itself children, it is represented by the Variable1DataType structure with an Int32 “Value” field for the Value of “Variable1” and a Variable1ChildrenDataType “Children” field for the descendants of “Variable1”. This “Children” structure field has an Int32 “Variable1.1” field representing the Value of “Variable1.1” and a Duration “Property1.1” field representing the Value of “Property1.1”.

If all sub-components in turn had sub-components themselves (great depth of the subtree), the recursive descend when constructing the SerializationValue DataType is limited by the SerializationConfiguration (e.g. SerializationDepth Property, see 6.3.5), by limitations of the structure DataType or finally by the Server resources.

image019.png

Figure A.1 – Nested SerializationFieldDataTypes for subtrees