The parameter DataSetMetaData provides the information necessary to decode DataSetMessages from the Publisher. If the DataSetMetaData changes in the Publisher and the MajorVersion was changed, the DataSetReader needs an update of the DataSetMetaData for further operation. If the update cannot be retrieved in the duration of the MessageReceiveTimeout, the State of the DataSetReader shall change to Error. The related PublishedDataSet is defined in 6.2.3. The DataSetMetaDataType is defined in 6.2.3.2.3. The options for retrieving the update of the DataSetMetaData are described in 5.2.3.

The Subscriber must map namespace indices in received messages if the data is processed in the context of an OPC UA Server information model e.g. if the values are written to target Variables. This affects encoding NodeIds in ExtensionObjects but also all other namespace indices in NodeIds and BrowseNames contained in the messages. If the Subscriber receives Structure DataTypes where the target Variables DataTypes have the same structure but different DataType NodeIds, the Subscriber must verify the consistency of the layout at start-up and must map the complete encoding NodeId when receiving the data.

The Subscriber should verify that the target Variables can handle array and string sizes if the Subscriber has limits and the DataSetMetaData contains size information. This includes ArrayDimensions and MaxStringLength information in the FieldMetaData and the StructureFields of Structure DataTypes. The verification should be executed at the start-up of the DataSetReader and when the DataSetMetaData is updated. The DataSetReader should go into Error state if the verification fails.

If the DataSetMetaData contains an empty fields array, the DataSetReader is configured to receive heartbeat DataSetMessages. For heartbeat DataSetMessages the majorVersion and minorVersion in the configurationVersion shall always be 0 in the configuration and in the DataSetMessages.