View Issue Details

IDProjectCategoryView StatusLast Update
001032210000-003: Address SpaceSpecpublic2025-05-09 13:11
ReporterAlexander Allmendinger Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Summary0010322: Clarification on DataTypeDefinition requirements for non-custom DataTypes
Description

The specification currently states:

The DataTypeDefinition Attribute is used to provide the meta data and encoding information for custom DataTypes.
It is then followed by requirements to provide this attribute for Structure and Union DataTypes as well as Enumerations and OptionSet DataTypes. The question from a certification has now been raised how such types defined in companion specifications fit into the game. Are they considered a custom datatype (since not in the OPC UA core namespaces) and mandated to have the DataTypeDefinition attribute or are they still standard types (since they are not custom) and therefore not mandated to have the attribute?

After discussion and thinking about the different use cases I would even say, that any of these Types need to have the DataTypeDefinition Attribute, even the ones defined in future OPC UA Core spec versions. Since OPC UA Clients will use this attribute to learn the datatypes there would not be interoperability between a server based on a newer specification with new structures that an older client doesn't know about but has a generic structure handling. Note, this just looks like a spec issue since the most common demo servers have the DataTypeDefinitions set also for all namespace 0 DataTypes.

TagsNo tags attached.
Commit Version
Fix Due Date

Activities

Frank Fischer

2025-05-09 13:11

reporter   ~0022716

I have recently been working on such a generic structure handling and also encountered this section, my impression was that this sentence was more informative:

The DataTypeDefinition Attribute is used to provide the meta data and encoding information for custom DataTypes.

The following sentences:

The Attribute is mandatory for DataTypes derived from Structure and Union.
and
The Attribute is mandatory for DataTypes derived from Enumeration, OptionSet and subtypes of UInteger representing an OptionSet.
have no exception for any namespace, so my impression was that this attribute is only optional for simple types (subtypes of builtin types) which are also not OptionSets.

Issue History

Date Modified Username Field Change
2025-05-09 11:02 Alexander Allmendinger New Issue
2025-05-09 13:11 Frank Fischer Note Added: 0022716