Originally posted by: RichMcFate
Krishna -- a partitioned group is simply a subtype of sequence group.
A sequence group is one in which the components are expected to appear in a specific order or sequence. It should be contrasted with Choice group (where only one of the components may exist at a time) and Unordered group (where the components may appear in a random order).
Partitioning a sequence is a way of introducing variability into a sequence group. A partitioned group may have components, and syntax just like any other sequence group. The difference, however, is that the subtypes of a partitioned sequence group are mutually exclusive examples of the partitioned group.
For example, you might have a Record partitioned group with certain characteristics (like a set of header fields that include record type and size, a delimiter, and a terminator). The subtypes of Record might be Header, Detail, and Trailer. Each of those would share the common characteristics of Record but be differentiated by something in the definition (e.g. a component rule on the Header that distinguishes between the tags HDR, DTL, and TLR.)
You might abstract it like this:
Dog is a partitioned group. It's subyptes (spaniel, dachsund, malamut, etc.) inherit certain characteristics from Dog, but are differentiated by things like size, color, and fur type.
You could create an object Kennel which contains Dog (s). Each type of dog would be individually addressable in the map (.e.g FMap(spaniel<>Dog) ).
You could also create an object Enclosure which contains spaniel(s), and dachsund(s) but not malamut. If a malamut were to show up in the enclosure at run time, the enclosure would be an invalid object.
In short -- a sequence group is simply one that contains objects in a specific order. Partitioned groups are a special kind of sequenced group whose subtypes are similar to each other, but can be differentiated in a useful way.
#IBM-Websphere-Transformation-Extender#IBMSterlingTransformationExtender#DataExchange