Explodes each list member on each input feature out into its own feature.
Any attributes on the list are demoted to become non-list attributes of the feature output. In addition, the element number of the attributes in the original list is added to the feature. Each feature's output has a copy of the geometry from the original input feature.
Features containing list members.
If the list is found in the input feature, it will be processed based on Attributes to Keep and output via this port.
If the list is not found in the input feature, the feature will be output via this port without being processed. In this case, the Attributes to Keep parameter will not be applied and the transformer will pass the feature through without processing it.
The name of the list that will be exploded by this transformer.
If the Element Index Attribute is specified, then each element feature output will be given an attribute containing the element's list position.
If attributes on the incoming and original feature share the same name, but do not start with fme_, then they are deemed conflicted.
Merge Incoming List: The original feature will retain all of its own un-conflicted attributes, and will additionally acquire any un-conflicted attributes that the incoming list feature has. This mode will handle conflicted attributes based on the Conflict Resolution parameter.
Prefix Incoming List: The original feature will retain all of its own attributes. In addition, the original will acquire attributes reflecting the incoming feature’s attributes, with the name prefixed with the Prefix parameter.
Only Use Incoming List: The original feature will have all of its attributes removed. This includes removing fme_* attributes, so please consult the Tip section below. Then, all of the attributes and associated values of the incoming feature will be placed onto the original.
Use Original: If a conflict occurs, the original values will be maintained.
Use Incoming List: If a conflict occurs, the values of the incoming list will be transferred onto the original.
If the Accumulation Mode parameter is set to Prefix Incoming List, this value will prefix attributes that are being added to the original feature from the incoming feature.
Tip: Accumulation Mode determines which attributes
remain on the exploded features.
When you choose Only Use Incoming List then you need to be aware that this will remove
all existing attributes, including format attributes. This
means your features won't have an fme_type, and this can cause them to
be written incorrectly to a destination (for example, as non-geom features).
What might be even more confusing is that you
won't see the problem if you connect the ListExploder to an Inspector:
the features will appear to have the correct fme_type and fme_geometry.
This is because when features are sent to the Inspector, FME converts
them to FFS format first, which recreates these attributes. The problem
would only be apparent if you sent the features to a Logger transformer,
where you would see that fme_type is missing.
The solution to this problem is to set fme_type manually after the
ListExploder.
| Valid List | Invalid List |
| mylist{0}.attr1 | mylist{1}.attr1 |
| mylist{1}.attr1 | mylist{2}.attr1 |
| mylist{2}.attr1 | mylist{3}.attr1 |
| mylist{3}.attr1 | mylist{4}.attr1 |
If this feature enters this transformer:
somelist{0}.length = 7.3
somelist{0}.kind = ’paved’
somelist{1}.length = 8.4
somelist{1}.kind = ’smooth’
somelist{1}.lanes = 2
somelist{2}.length = 1.1
somelist{2}.kind = ’rough’
another_attr = ’something else’
then, presuming that the list name specified was somelist{}, the index attribute was element_num, and the Attributes to Keep parameter was set to List Elements and Original Attributes, the first returned feature would look like:
length = 7.3
kind = ’paved’
element_num = 0
another_attr = ’something else’
If the Attributes to Keep parameter was set to List Element Attributes, the first returned feature would look like:
length = 7.3
kind = ’paved’
element_num = 0
Suppose you have a Input feature with the following 6 attributes. (The List Attribute used here would be ID{}.)
Name
Type
ID{0}.dec
ID{0}.hex
ID{1}.dec
ID{1}.hex
List Elements and Original Attributes will produce elements with 4 attributes:
Name
Type
dec
hex
List Element Attributes will produce elements with 2 attributes:
dec
hex
Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click
beside the applicable parameter. For more information, see Transformer Parameter Menu Options.
See a workspace example on FMEpedia.
Search for samples and information about this transformer on FMEpedia.