The UsesDataTypeRefinement is a concrete ReferenceType and can be used directly. It is a subtype of NonHierarchicalReferences.
The semantic of this ReferenceType is to link from a place where a Structured DataType is used to an Object of DataTypeRefinementType SubtypeRestrictionType (see OPC 10000-5), restricting the usage of the Structured DataType and adding meta data.
The SourceNode of References of this type shall be a Variable having a Structured DataType. The Variable shall not be used as InstanceDeclaration.
Note that Method Arguments can be further described using Variables referenced with a HasArgumentDescription. If the Method Argument is a Structured DataType, this Variable can be used as SourceNode for the UsesDataTypeRefinement to further refine the Structured DataType.
Each Node shall be the SourceNode of at most one UsesDataTypeRefinement Reference.
The TargetNode of this ReferenceType shall be an Object of DataTypeRefinementType SubtypeRestrictionType (see OPC 10000-5) or a subtype. The DataType of the SourceNode and the DataType refined in the TargetNode shall be identical, no subtypes are allowed.