In 8.2.9 the standard Object is introduced as entry point for DataTypes that the Server wishes to expose in the AddressSpace. When using DataTypeSystems and DataTypeDictionaries those Nodes can be referenced by this Object as well. The standard Object uses Organizes References to reference Objects of the DataTypeSystemType representing DataTypeSystems. Referenced by those Objects are DataTypeDictionaries that refer to their DataTypeDescriptions. However, it is not required to provide the DataTypeSystem Objects, and the DataTypeDictionary need not to be provided.
Because DataTypes are not related to DataTypeDescriptions using hierarchical References, DataType Nodes should be made available using Organizes References pointing either directly from the “DataTypes” Object to the DataType Nodes or using additional Folder Objects for grouping purposes. The intent is that all DataTypes of the Server exposed in the AddressSpace are accessible following hierarchical References starting from the “DataTypes” Object. However, this is not required.
Figure D.3 illustrates this hierarchy using the “OPC Binary” and “XML Schema” standard DataTypeSystems as examples. Other DataTypeSystems may be defined under this Object.
Figure D.3 – DataTypes Organization
Each DataTypeSystem Object is related to its DataTypeDictionary Nodes using HasComponent References. Each DataTypeDictionary Node is related to its DataTypeDescription Nodes using HasComponent References. These References indicate that the DataTypeDescriptions are defined in the dictionary.
In the example, the “DataTypes” Object references the DataType “Int32” using an Organizes Reference. The DataType uses the non-hierarchical HasEncoding Reference to point to its default encoding, which references a DataTypeDescription using the non-hierarchical HasDescription Reference.