A StructuredType describes a type as a sequence of binary-encoded values. Each value in the sequence is called a Field. Each Field references a TypeDescription that describes the binary-encoded value that appears in the field. A Field may specify that zero, one or multiple instances of the type appear within the sequence described by the StructuredType.

Authors of type dictionaries should use StructuredTypes to describe a variety of common data constructs including arrays, unions and structures.

Some fields have lengths that are not multiples of 8 bits. Several of these fields may appear in a sequence in a structure, however, the total number of bits used in the sequence shall be fixed and it shall be a multiple of 8 bits. Any field which does not have a fixed length shall be aligned on a byte boundary.

A sequence of fields which do not line up on byte boundaries are specified from the least significant bit to the most significant bit. Sequences which are longer than one byte overflow from the most significant bit of the first byte into the least significant bit of the next byte.

The components of a StructuredType are described in Table E.5.

Table E.5 – StructuredType Components

Name

Type

Description

TypeDescription

TypeDescription

A StructuredType inherits all elements and attributes defined for a TypeDescription in Table E.2.

Field

FieldType

One or more elements that describe the fields of the structure. Each field shall have a name that is unique within the StructuredType. Some fields may reference other fields in the StructuredType by using this name.