This Structured DataType is used to provide the meta data for a custom Structure DataType. It is derived from the DataType DataTypeDefinition. The StructureDefinition is formally defined in Table 34.

Table 34 – StructureDefinition Structure

Name

Type

Description

StructureDefinition

Structure

defaultEncodingId

NodeId

The NodeId of the default DataTypeEncoding for the DataType. The default depends on the message encoding, Default Binary for UA Binary encoding, Default JSON for JSON encoding and Default XML for XML encoding.

If the DataType is only used inside nested Structures and is not directly contained in an ExtensionObject, the encoding NodeId is null.

baseDataType

NodeId

The NodeId of the direct supertype of the DataType. This might be the abstract Structure or the Union DataType.

structureType

Enum

StructureType

An enumeration that specifies the type of Structure defined by the DataType. It has the following values

Structure_0 A Structure without optional fields.

StructureWithOptionalFields_1A Structure with optional fields.

Union_2 A Union DataType

Only one of the fields defined for the data type is encoded into a value if the data type is a Union.

fields

StructureField []

The list of fields that make up the data type.

This definition assumes the structure has a sequential layout.

The StructureField DataType is defined in 8.51.

For Structures derived from another Structure DataType this list shall begin with the fields of the baseDataType followed by the fields of this StructureDefinition.