Function Name |
Concat | ||||||
Category |
String | ||||||
Icon |
![]() |
||||||
Description |
Concatenate two or more input Strings | ||||||
Inputs |
|
||||||
Outputs |
|
||||||
Properties |
|
The Data Mapper String Concat function concatenates two input Strings. If you need to combine two items from your source XML into a single item in the target, you can use the Concat function. When mapping XML data, it is common to find that your source and target Schemas use differing numbers of elements and attributes -concatenation is therefore common. By default, the Concat function appears with two inputs, however, you can add and remove inputs by right-clicking them within the mapper if you need to alter the range of values you are concatenating. To apply the String Concat function, use the following process:
Create a new Data Mapper file, dragging your XML data source and targets into the editor area. For this example we are using office_alt_source.xsd, an XML Schema Definition inferred from the following source:
Source XML |
Copy Code
|
---|---|
<office> <file type="corporate"> <num>12345</num> <code>abcde</code> <title>Smith and Mitchell</title> </file> <file type="individual"> <num>54321</num> <code>fghij</code> <title>James Black</title> </file> </office> |
For our target schema we will be using office_target.xsd, inferred from the following XML:
Target XML |
Copy Code
|
---|---|
<associates> <account reference="98765hijkl"> <category>Organisation</category> <contact>Jane Johnson</contact> </account> <account reference="56789rstuv"> <category>Corporate</category> <contact>Mary Simpson</contact> </account> </associates> |
The data models office files for an organisation. Here is the Data Mapper with Source and Target imported:
Let's assume that we want to combine the "num" and "code" elements in the source, mapping these two concatenated to the "reference" attribute in the target. Drag the String Concat function from the Component Palette into the mapping area:
The String Concat function takes two (or optionally more) inputs and gives a String output. The String 1 input should be connected to the input String you want to use as the first part of the new String. The String 2 input should be connected to the String you want to use as a the second part of the result String, and so on. The output should be connected to the target item, which may be in the XML Writer or another mapping component if you need to apply further transformations. Connect the String 1 String input to the "num" output in the XML Reader, and the String 2 input to the "code" item. Connect the Concat output to the "reference" input in the XML Writer.
Finally let's connect the remaining input and output connections:
We can now execute the transform by pressing Shift-F5 or the Execute button (). The transform is applied and the file we selected as output opens in the editor:
Output XML |
Copy Code
|
---|---|
<associates> <account reference="12345abcde"> <category>corporate</category> <contact>Smith and Mitchell</contact> </account> <account reference="54321fghij"> <category>individual</category> <contact>James Black</contact> </account> </associates> |
The input Strings have been combined as part of the mapping process. You can also use Concat to add additional characters to Strings by applying the Concat function to an input String and a Constant representing the characters you wish to add. If you need to concatenate multiple instances of input values, try the ConcatAll function.
This is a scalar function so the standard rules apply if multiple values are presented to one or more inputs.