Data Transformation Engine Type Designer Reference Guide
Type Designer Reference Guide
203
Chapter 13 - Distinguishable Objects
This chapter explains how differences are identified for objects in a data stream.
This information is helpful a type tree analysis produced an error message
concerning objects that are not distinguishable.
Objects in a Data Stream
A data stream is a byte-by-byte flow of data. Objects in a data stream include
both data objects and syntax objects. Syntax objects indicate where a data object
begins or ends. They include separators, initiators, terminators, delimiters, release
characters, and pad characters. Sometimes, data values are used to identify
where another data object begins or ends.
It may be necessary to distinguish between data objects in a component series,
data objects of different types, or even syntax objects.
Type Tree Analyzer and Distinguishable Objects
The type tree analyzer indicates whether your data definitions are sufficient to
distinguish the objects in your data stream. The following discussion explains how
you can define your data so that the objects that need to be distinguishable are
distinguishable. Chances are, if you analyzed your tree and received a message
that involves distinguishable objects, you need to define the types differently or
more specifically.
Bound Types
A type is bound if its definition makes it clear where an instance of that type ends.
If a type is bound, different objects of that type can be distinguished in a data
stream. A bound type is easier to distinguish between an object of that type and
an object of another type. The following tables describe how types may be bound.
An object of this type: Is bound if any of the following is true:
Item ( ) It is padded to a fixed size or its minimum and
maximum content size are equal.
It has a terminator.
It has an include restriction list.
Partitioned item ( ) Each non-partitioned item in the sub-tree is bound.