This abstract DataType is the base data type for identifying binary data internally and externally. Its subtypes are used in objects of RecipeType which is defined in Section 7.7., of ConfigurationDataType which is defined in Section 12.12 and also in results. It is formally defined in Table 144.

The main rationale for introducing a base type and several (identical) subtypes is to facilitate a type-safe enforcing of the distinction between external and internal Ids in method arguments.

Table 144 – Definition of BinaryIdBaseDataType

Name

Type

Description

O / M

BinaryIdBaseDataType

structure

Id

TrimmedString

Id is a system-wide unique name for identifying the binary data.

Mandatory

Version

TrimmedString

Represents an optional version number of the identified binary data. It is recommended to be of the format Major.minor.patch.build or a subset thereof, but the actual format is implementation defined.

Optional

hash

ByteString

Represents an optional hash of the binary content of the actual data (as it would be transmitted by the transfer methods).

The hash is supposed to be provided by the environment if existing. The environment shall use the same hash function on all binary data so that a difference in the hash indicates a difference in the binary data. It is recommended to use the SHA-256 algorithm for computing the hash, however, the actual algorithm is implementation-defined.

Optional

hashAlgorithm

String

Name of the hash function used. Required if internally and externally computed hashes are to be compared

Optional

description

LocalizedText

Optional short human readable description of the configuration

Optional