1. CopyValue : This copy value is used when we are having a field with 0..X occurrence at source side and we have to map its different instance values to different fields at the target side. For example if we are having whole address at sender side and if we want to divide that address into different components , then it is used.
Advantage: There is no need of three nodes at the source for address, Only single node can be used.
2. FormatByExample : As the name suggests it formats the output by using an example .It takes two queues as input .At output you get values from the first queue and context change from the second queue. That is output is formatted by taking second queue as an example.And context change in first queue and values in second queue does not make any difference.
Condition : The only condition it has to satisfy is that number of values in both the input queues must be same.Or else there will be a runtime exception.
When this is the Input : Equal no of values in both input.
Then the output will be,You can see all the 1's in the output and context changes from second input.
When this is the Input :Number of values are unequal in both the queues:
You will get a runtime exception:
3.MapWithDefault : This is very useful function, Suppose you have 0..Unbounded occurrence for source structure ,but its mandatory in target structure so if that node is not present in the source you will get a runtime exception. This problem can be solved using two node functions:
A) Exists Function: It will generate a node at target but by default you will get the value FALSE in it, which some user will not accept.
Then the ouput will be:
You can see the false value for the missing node.
B) MapWithDefault : So to generate the missing node at target side, with a value that we want this function can be used.
Here you can see i have removed the node road and still we can get its default value in output.