An action takes its input from the data holders that are currently available. A single action can have multiple inputs.
If the action is embedded in a Parser, the available data holders are the ones that the Parser has generated. In a Serializer, the data holders are the ones that exist in the input XML, plus any additional data holders that the Serializer has generated. For a Mapper, the data holders can be in either the input or the output.
The action performs operations on the input and generates output. You can configure many actions to store their output in data holders.
In most actions, the input and output data holders must have simple data types. They must not contain nested elements. A few actions work with data holders that contain nested elements, with multiple-occurrence data holders, or with other special types.
An action can have additional effects, such as writing to a file, updating a database, or submitting data to an external application.