Data Transformation Engine Type Designer Reference Guide
Chapter 13 - Distinguishable Objects Content-Distinguishable Types
A component is content-distinguishable from its following set when:
♦ The following set is empty.
or
♦ The type of the component is content-distinguishable from each component in
its following set.
Content-Distinguishable Types
The following table lists the ways in which two types may be
content-distinguishable. The table is helpful particularly if you analyzed your tree
and received an error indicating that two types are not distinguishable. Look up
the combination of types in the first two columns and read the list of ways to
define them that would make them distinguishable.
For example, if you get an error indicating that X is not distinguishable from Y,
where X is an item, and Y is a partitioned group, you would find the row in the
table where Type1 is an item and Type2 is a partitioned group.
Remember that the order in which you compare two types matters. When you ask
the question "Is type A content-distinguishable from type B?", this is not the same
question as "Is type B content-distinguishable from type A?"
If you are trying to determine whether two types are distinguishable and you
follow the guidelines in the following tables, you may encounter a situation in
which you are comparing a type to itself. A type is never distinguishable from
itself.
Another thing to keep in mind is that is that the context in which a type is used
matters. When you ask the question, “Is type A, as a component of type C,
content-distinguishable from type B?” this is not the same question as, “Is type A,
as a component of type D, content-distinguishable from type B?”
The following table shows how to define types as content-distinguishable.
Type 1 Type 2 How to define them as content-distinguishable
item
item
The first component or partition is either:
♦ An item and marked as initiator distinguishable and
! Both items are different partitions of the same
partitioned sub-tree, or
! The second type has an initiator and those initiators
are mutually exclusive, or
! Both types have the same initiator and the value of
the first item is distinguishable from the value of the