An OpaqueTypedescribes a binary encoded value that is either a primitive fixed length type or that has a structure too complex to capture in an OPC Binary type dictionary. Authors of type dictionaries should avoid defining OpaqueTypes that do not have a fixed length because it would prevent applications from interpreting values that use these types without having built-in knowledge of the OpaqueType.The OPC Binary Type Description System defines many standard OpaqueTypesthat should allow authors to describe most binary encoded values as StructuredTypes.

The components of an OpaqueTypeare described in Table C.3.

Table C.3– OpaqueType components

Name

Type

Description

TypeDescription

TypeDescription

An OpaqueTypeinherits all elements and attributes defined for a TypeDescriptionin Table C.2.

LengthInBits

xs:string

An attribute which specifies the length of the OpaqueTypein bits. This value should always be specified. If this value is not specified the Documentationelement should describe the encoding in a way that a human understands.

ByteOrderSignificant

xs:boolean

An attribute that indicates whether byte order is significant for the type.

If byte order is significant then the application shall determine the byte order to use for the current context before interpreting the encoded value. The application determines the byte order by looking for the DefaultByteOrderattribute specified for containing StructuredTypesor the TypeDictionary. If StructuredTypes are nested the inner StructuredTypes override the byte order of the outer descriptions.

If the DefaultByteOrder attribute is specified for theOpaqueType,then theByteOrder is fixed and does not change according to context.

If this attribute is "true", then the LengthInBitsattribute shall be specified and it shall be an integer multiple of 8 bits.