Data Mapper is a visual data-mapping tool used for mapping elements in advanced data integration projects. This tool allows you to specify source and target schemas and to map data fields from source schema to target schema.
...
You can map source and target elements using any of the listed methods:
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
This is the default and most commonly used method for mapping source and target elements.
Steps to map elements using Drag and Drop approach
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
If the number of leaf elements of the parent element in the source and target schema is same, then you can use the One to One mapping button to map all the source elements to the corresponding target elements.
Steps to use One to One mapping
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Click and drag the parent element of the source schema to the parent element of the target schema. This will apply template of the source parent element on the target parent element, and activate the One to One Mapping button.
Click One to One Mapping ( ) button. All the leaf elements of the parent element in the source schema will be mapped to their respective leaf elements of the parent element in the target schema.
Info Only leaf elements are mapped using this button. It does not map complex elements. To map complex elements, you need to use the drag and drop method.
Info If multiple schemas are loaded, then dragging a source parent element will map all leaf elements of schemas displayed previous to the current schema.
Moreover, in multiple schemas, mapping can be performed between parents at any level, if the number of their leaf elements is the same.Anchor automapper automapper
Auto Mapper
If the hierarchy and the names of the complex elements are similar, then you can use the Auto Mapper option to map the source elements to the corresponding target elements. In case of complex elements, the hierarchy and the name of all elements must be the same.Steps to use the Auto Mapper
...
Anchor | ||||
---|---|---|---|---|
|
You can use the Remove All Mappings option to remove all mappings from the Data Mapper.
Steps to remove all mappings between source and target elements
Click Remove all Mapping ( ) button. The Remove Options screen is displayed (see Figure 398).This screen displays a list of the properties, variables, custom methods, keys and templates associated with a mapped element, which can be removed with the mapping.
Figure 398: Remove Options
Info The Remove Mapping, Remove Comments, Remove For Each and Remove Local Variables options are always enabled. The other options are enabled only if they have been defined for the mapped element.
Select the checkbox(s) of the options that you want to remove and click OK button. All the selected options and all mappings between source and target elements will be removed.
Info You can remove mapping associated with each element individually. For details, refer to the section Remove Mapping of an Element.
Anchor CustomAutoMap CustomAutoMap Anchor _Toc226191056 _Toc226191056 Anchor _Toc315524635 _Toc315524635
Custom Auto MapThe Auto Mapper feature can be used only when the elements of source and target schema are at the same hierarchy level and have the same names. However, if you want to automatically map the elements when the names of the elements of source and target schemas are different, you cannot use this feature. For example, if the source schema has elements, EmpFirstName and EmpLastName and the target schema has the elements, firstName and lastName then you cannot define mapping between these two schemas using the Auto Mapper feature.Anchor _Toc315524907 _Toc315524907
To define a mapping between the schemas when the elements of source and target schema are at the different hierarchy level (which may include elements at the different parent and child level) and have the different names, you can use the Custom Auto Map feature. This feature enables you to define the mapping between such schemas where elements to be mapped are stored in different parent and child level and in addition elements name are different.Anchor _Toc344890217 _Toc344890217 Anchor _Toc385441547 _Toc385441547 Anchor _Toc387747386 _Toc387747386 Anchor _Toc387748659 _Toc387748659
Scope of a Custom Auto MapYou can also select the scope of a Custom Auto Map at the time of defining and saving it. Scope of a Custom Auto Map is the context within which it is defined and is accessible within or across the user groups. A Custom Auto Map can be defined in any of the following scope:Anchor _Toc401308956 _Toc401308956
...
In addition, you can also manage a Custom Auto Map from the Parameters Panel.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
You can define a Custom Auto Map by both manually providing the names of the source and target elements to be mapped in the Custom Auto Map Dialog screen or by defining the names of source and target elements to be mapped in a CSV file and then loading the CSV file in the Custom Auto Map Dialog screen. Loading a CSV file is useful when you have a large set of source and target elements to be mapped.
...
Steps to Manually Define a Custom Auto Map
Ensure that the source and target schemas are loaded in the Data Mapper and all their elements are listed under their respective nodes (see Figure 399).
Figure 399: Source and Target Schemas with different Element Names
Click the Custom Auto Map button on the tool bar or select Custom Auto Map from the Actions menu. The Custom Auto Map Dialog screen is displayed (see Figure 400).
Figure 400: Custom Auto Map Dialog screen
- Enter the name of Custom Auto Map in the Name textbox.
Select the scope of the Custom Auto Map. By default, the radio button Global is selected and a Custom Auto Map is saved in the Global scope.
Info If you want to save the Custom Auto Map within the current user group, select the Group radio button. This will save the Custom Auto Map as the group Custom Auto Map and can be used in any mapping activity within the current user group. In the Parameters panel, the Custom Auto Map will be displayed under the folder hierarchy Custom Auto Map/Group.
- Click the Add button to add a new row for Source Element and Target Element columns. You can also add a row by pressing the Enter key. This will add the row immediately next to the row which is currently selected.
- Enter the name of the source element for which you want to define Custom Auto Map in the Source Element column.
Enter the name of the target element to which you want to map the source element specified in previous step, in the Target Element column (see Figure 401).
Info If you need to delete any row, select the respective row and click the Delete button.
Figure 401: Custom Auto Map Dialog- Click the Save & Close button to save the Custom Auto Map. This will add the Custom Auto Map in Custom Auto Map hierarchy in the Parameter Panel. Similarly you can add more Custom Auto Map (see Figure 402 ).
...
When you define a Custom Auto Map, by default it is in deactivated state. To use a Custom Auto Map, you need to first activate it. Once you have activated the Custom Auto Map, you can use it in your mapping. Note that only activated Custom Auto Maps can be used in a mapping.
Steps to Activate a Custom Auto Map
...
After activating a Custom Auto Map, you can use it in your mapping. Note that only one Custom Auto Map can be activated in the current mapping.
Steps to Use the Custom Auto Map in a Mapping
- Load the respective source and target schema.
- Create and activate the Custom Auto Map.
- Map the parent record of the Source schema to the parent record of the Target schema.
Right-click the parent record of the target schema and select Connect Matching Record options (see Figure 408).
Figure 408: Select Connect Matching Children
The Connect Matching Children Dialog window is displayed (see Figure 409).
Figure 409: Connect Matching Children Options
- Select the mapping criteria from the Automap options list. Its options are listed as:
- Ignore Case: The source and the target elements are mapped even if they are of different case. Their attributes are not mapped.
- Ignore Namespace: The source and target elements are mapped, when their names are same but source schema has any namespace prefix.
- Recursive: Elements of parent level as well as all child level with the corresponding target elements.
- Mix Attributes: Attributes of source and target schemas are mapped.
- Select the mapping criteria from the Existing Options list. These options are :
- Retain: If any source and target elements are already mapped, those mapping will not be overwritten.
- Overwrite: Overwrites all the existing mappings.
- Click OK. This will map source and target schema as per the criteria selected (see Figure 410).
...
Editing a Custom Auto Map
In edit mode, you can edit the name of the Custom Auto Map and the source and target elements to be mapped. Note that you cannot edit the scope of a Custom Auto Map in edit mode. The radio buttons to select the scope becomes non-editable once you save the Custom Auto Map. However, you cannot edit the Custom Auto Map when it has been already been used in the mapping and that mapping has been saved.
Steps to Edit a Custom Auto Map
...
Moving a Custom Auto Map from Group to Global
You can also change the scope of a Custom Auto Map from the Parameters Panel by moving the Custom Auto Map from Group to Global. However, you cannot move a Custom Auto Map if it is in the activated state and has been used in mapping. In addition, you cannot move a Custom Auto Map from Global to Group.
Steps to Move a Custom Auto Map
...
This will change the scope of the selected Custom Auto Map and now the Custom Auto Map will be displayed under the Global folder.
Deleting a Custom Auto Map
Steps to Delete a Custom Auto Map
...
Steps to Manually Define a Value Map
Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes (see Figure 418).
Figure 418: Elements of Source and Target Schema
Click the Value Map button on the toolbar or select the option Value Map from the Actions menu. The Value Map Dialog screen is displayed (see Figure 419).
Figure 419: Value Map Options Dialog screen
- Enter the name of Value Map (for example, PriorityMap) in the Name textbox.
Select the scope of the Value Map. By default, the radio button Global is selected and a Value Map is saved in the Global scope.
Info If you want to save the Value Map within the current user group, select the Group radio button. This will save the Value Map as the group Value Map and can be used in any mapping activity within the current user group. In the Parameters panel, the Value Map will be displayed under the folder hierarchy Value Map/Group.
- Enter the value (for example, Low) in Value column and enter its map value(for example, L) in Map column.
- Click the Add button to add a new row for Value and Map columns. You can also add the row by pressing the Enter key. This will add the row immediately next to the row which is currently selected.
- You can also provide the default Map value in the Default Value field (for example, Normal). In case if at the source side any value is not provided then the value provided in the Default Value field will be mapped to the target element (see Figure 420). For example, if you want to map the priority of the mail as:
- For the source element 'High' the Map value for the target element will be 'H'.
- For the source element 'Low' the Map value for the target element will be 'L'.
- For the source element 'Medium' the Map value for the target element will be 'M'.
For the source element which is not provided the target element will be mapped to 'Normal' as defined in the Default Value field.
Figure 420: Value Map Select the checkbox Pick from Source if you want to use the source element as the map value for the target element or if you do not want to use the default value as the Map value. For example, if there is a source element 'Normal' then the Map value for the corresponding target element will be 'Normal' and for the source element which is not provided the Map value for the target element will also be a blank.
Info If you need to delete any row, select the respective row and click the Delete button. Click the Save & Close button to save the Value Map. This will add the Value Map in Value Map hierarchy in the Parameter Panel. Similarly you can add more Value Map.
...
Then, you can define the set of values in a csv file as:
Low,L
Medium,M
High,H
Steps to Define a Value Map Using a CSV File
...
Editing a Value Map
In edit mode, you can edit the name of Value Map and the map set for an element value. Note that you cannot edit the scope of a Value Map in edit mode. The radio buttons to select the scope becomes non-editable once you save the Value Map. The radio buttons to select the scope becomes non-editable once you save the Value Map. However, you cannot edit the Value Map when it has been already been used in the mapping and that mapping has been saved.
Steps to Edit a Value Map
...
Moving a Value Map from Group to Global
You can also change the scope of a Value Map from the Parameters Panel by moving the Value Map from Group to Global. However, you cannot move a Value Map if it is has been used in mapping and that mapping has been saved. In addition, you cannot move a Custom Auto Map from Global to Group.
Steps to Move a Value Map
...
This will add the change the scope of the selected Value Map and now the Value Map will be displayed under the Global folder.
Steps to Delete a Value Map
...
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes. Additionally, the mapping of a target element should be copied.
Right-click the target element on which you want to paste the mapping and select the Paste Mapping option.
The Paste Mapping Options screen is displayed with a list of Paste options (see Figure 434).
Figure 434: Paste Mapping Options
This screen displays a list of options that can be pasted with the mapping. It includes the For Each and Comments properties and local variables.
Info The Paste Mapping option is always enabled. The other options are enabled only if they have been defined for the copied element.
Select the checkbox(s) of options you want to paste with the mapping, and click OK. The mapping with the selected options is pasted on the target element.
Info If local variables are pasted for a target element, they are not overwritten, but are added to the existing local variables of that target element.
Info You can also copy a mapping instance and paste it onto another instance. This is possible only if the schemas are same in both the mapping instances.
Anchor _Toc131572368 _Toc131572368 Anchor _Toc134848107 _Toc134848107 Anchor _Toc144023030 _Toc144023030 Anchor _Toc144314276 _Toc144314276 Anchor _Toc177977116 _Toc177977116 Anchor _Toc226191059 _Toc226191059 Anchor mappingfunct mappingfunct Anchor _Toc315524638 _Toc315524638
Import MappingIf you want to map elements in a pattern that is similar to an existing mapping, you can import the existing mapping.Anchor _Toc315524910 _Toc315524910
Steps to import an existing mapping to a new mapping
Ensure that the [source and target schemas are loaded
andand all their elements are listed under their respective nodes. (see Figure 435).
Figure 435: Elements of Source and Target SchemaClick Actions menu and select Import Mapping (see Figure 436).
Figure 436: Select Import Mapping OptionThe Import Mapping Dialog screen is displayed (see Figure 437).
Figure 437: Import Mapping Dialog- Select the mapping you want to import and click Load. This imports the mapping of the selected schemas to the new schemas (see Figure 438 ).
...
Once you have mapped source and target elements, you can save the mapping and exit the Data Mapper.
Steps to save the mapping and exit the Data Mapper
...
Click the XSL tab on the Tabs Panel to view the generated mapping XSL. The generated XSL code with line numbers is displayed (see Figure 445).
Figure 445: Mapping XSL
Click the Action menu and select Validate XSL option to validate the generated XSL. A dialog box is displayed confirming that the XSL is valid.
Info If generated XSL is invalid, then an error is displayed as a selected line. Error details are displayed in the XSL Errors Pane. It displays one error at a time.
Click OK to close the above dialog box.
Info You can also validate the generated XSL from the Create Data Mapping screen. For more details, refer to the section Splitting Source Data.
Anchor viewtargetXML viewtargetXML Anchor _Toc131572371 _Toc131572371 Anchor _Toc134848110 _Toc134848110 Anchor _Toc144023033 _Toc144023033 Anchor _Toc144314279 _Toc144314279 Anchor _Toc177977119 _Toc177977119 Anchor _Toc226191062 _Toc226191062 Anchor _Toc315524642 _Toc315524642
View Mapping XMLThe Data Mapper allows you to view the generated XML code, before saving the mapping activity.Anchor _Toc315524914 _Toc315524914
Steps to view Mapping XML
...
Once you have mapped source and target schema elements, you can view and validate the output of the mapping activity. This feature enables you to test the data and make modifications to the mapping activity, before saving it.
Steps to view and validate mapping output
...
If you have read-only rights, you can still view a mapping activity. You can view the applied mapping, create new mapping rules, edit existing mapping rules and run simulation. However, you cannot save the mapping activity.
Steps to view mapping in read-only mode
...
Splitting feature enables you to process large files. You must use splitting if your source file is huge. If you do not use splitting in this case, then Data Mapper may not be able to map it. If the data in the source file is huge, you can split the source data into different chunks. You can specify the size of the chunks in terms of the number of records or data streams. In the output, however, only one file is generated at the location specified in the target activity.
Steps to split the source data
...
You can remove a Splitter XPath that has been set for a source element.
Steps to remove Splitter XPath
...
Once you have split the source data by setting the Splitter XPath on a source element, you need to merge the split data at the target end. For this, you need to set the Merger XPath on a target element.
Setting the Merger XPath is largely dependent upon the Splitter XPath. You need to ensure that the number of Splitter XPaths and the Merger XPaths at the source and target schemas respectively are the same.
Steps to set Merger XPath
...
You can remove mapping associated with a particular element.
Steps to remove mapping of a particular element
- Ensure that all the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Right-click the target element whose mapping you want to remove and select the Remove Mappings option.
The Remove Options window is displayed (see Figure 473).
Figure 473: Remove Options (Particular Element)This screen displays a list of properties and variables associated with the selected element that can be removed with the mapping.
Info Only the Remove Mapping is displayed as always enabled. The other options are enabled only if they have been defined for the particular element.
- Select the checkbox(s) of the options that you want to remove and click OK button. All the selected options and mapping associated with the particular element will be removed.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...
In Data Mapper applet, from the Action menu and select Create Context Schema Definition. The Create Context Schema Definition Dialog window is displayed ( see Figure 474 ).
Figure 474: Create Context Schema
Info Only the Remove Mapping is displayed as always enabled. The other options are enabled only if they have been defined for the particular element.
- To add a context variable click Add button and enter the name of the variable.
Repeat the same steps to create other variables (see Figure 475 ).
Figure 475: Add Variables
You can also import the context variables of the process flow in which you want to use this mapping activity. To import context variables from process flow, click Import From Process Flow button. Import Context Variable dialog box is displayed (see Figure 476 )
Figure 476: Import Context Variables
- Select the process flow, from which you want to import context variables and click Load.
- Click Save.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Once you have created the context schema, you need to load it at source or target end depending on your need.
Steps to Load Context Schema Definition
...
Once you load the context schema, you can map its variables to elements of other schema (see Figure 478 ).
...
...
...
Figure 478:Map elements
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Once you created the mapping activity using context schema you need to changes its streaming properties while creating process flow using this mapping activity.
If Context Schema is loaded at source side then there is no need to provide the source (dummy source) stream to the Mapping activity. Similarly if Context schema is loaded at target side then Mapping activity will not generate any output stream, so there is no need to attach dummy target. To achieve this Generate Stream and Consume Stream property has been added to Data Mapper activity in the Process Designer. User can disable these properties based on whether Context schema is loaded at source or target side.
Steps to disable input and output stream of mapping activity
...
You can use the required sub-function of Math mapping function to map elements. The process of using the Math function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
Steps to map elements using the 'Division' Math Mapping Function
...
You can use the required sub-function of String mapping function to map elements. The process of using the String function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
Steps to map elements using the 'Concat' String Mapping Function
...
You can use the required sub-function of Date mapping function to map elements. The process of using the Date function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
Steps to map elements using the 'Date-Difference' Date Mapping Function
...
You can use the required sub-function of Aggregation mapping function to map elements. The process of using the Aggregation function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
Steps to map elements using the 'Sum' Aggregation Mapping Function
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Ensure that the source and target elements to be mapped are selected and displayed in the Mapping Graph Area.
Click Aggregation function and select the Sum sub-function. A Sum node is displayed in the Mapping Graph Area (see Figure 488).
Figure 488: Add Sum Sub-Function Node
- Create a link from the output of the Source element to the input of the Sum node.
Create a link from the output of the Sum function node to the Target element (see Figure 489).
Figure 489: Create Links between Nodes for Mapping Elements using Sum Function
- Click the Apply Mapping ( ) button. This maps elements using the Sum sub-function. A line is displayed between the source and target panels showing the mapping of the source element to the target element.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
...
You can use the required sub-function of Conditional mapping function to map elements. The process of using the Conditional function is the same for all its sub-functions. Thus, the mapping process using one sub- function is outlined below.
Anchor | ||||
---|---|---|---|---|
|
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Ensure that the source and target elements to be mapped are selected and displayed in the Mapping Graph Area.
- Click Boolean function menu and then select the >=Greater than Equal operator. A >= node is displayed in the Mapping Graph Area (see Figure 490).
Figure 490: Add Greater Than or Equal To Boolean Function NodeInfo To learn more about Boolean Functions, refer to the section Using Boolean Functions.
- Add a constant value in the Mapping Graph Area.
- Create a link from the output of the source element to the first input of the >= operator node.
Create a link from the output of the Constant node to the second input of the >= operator node (see Figure 491).
Figure 491: Create Links between Nodes for Mapping Elements using Greater Than Equal To Function
Click Conditional mapping function and select IF CONDITION sub-function. Further select For Mapping to Elements option. An IF CONDITION node is displayed in the Mapping Graph Area (see Figure 492).
Figure 492: Add IF Conditional Function Node
- Create a link from the output of the >= operator element to the first input of the IF CONDITION node.
- Add a constant value of integer type (for example, 25) in the Mapping Graph Area.
- Create a link from the output of the Constant element to the second input of the IF CONDITION node.
- Create a link from the output of the IF CONDITION node to the input of the target element node (see Figure 493).
Figure 493: Creating Links between Nodes for Mapping Elements using IF Conditional FunctionInfo If the value of SALARY element in the source data is greater than or equal to 5000, output will be 3000. If the value of TESTCASENO element in the source data is less than 100, output will be an empty tag.
Click Apply Mapping ( ) button. This maps elements using IF CONDITION function. A line is displayed between source and target panels showing the mapping of the source element to the target element.
Info This function simply filters the records based on the specified Boolean condition, but it does not create a data stream of the filtered records. You need to explicitly create the filtered data stream by creating another mapping (or adding same output schema in Target Panel) and using the IFF CONDITION () function based on the opposite Boolean condition.
Anchor _Toc88470441 _Toc88470441 Anchor axisfunction axisfunction Anchor _Toc131572384 _Toc131572384 Anchor _Toc134848123 _Toc134848123 Anchor _Toc144023047 _Toc144023047 Anchor _Toc144314293 _Toc144314293 Anchor _Toc177977135 _Toc177977135 Anchor _Toc226191080 _Toc226191080 Anchor _Toc315524665 _Toc315524665
Using Axis FunctionAnchor _Toc315524937 _Toc315524937 The Axis function contains a list of advance XSL functions that are used to map elements only when the For Each function is applied on the Target node. It comprises of various sub-functions, which are listed in the table below.
Anchor _Toc144313783 _Toc144313783 Anchor _Toc144827061 _Toc144827061 Anchor _Toc156195265 _Toc156195265 Anchor _Toc177878242 _Toc177878242 Anchor _Toc208651138 _Toc208651138
Table 18: Sub-Functions of Axis Mapping FunctionAnchor _Toc315524517 _Toc315524517 Mapping Function
Sub-Functions
Description
Example
Axis
File Path – XPath
This is a customized mapping function.
This is an XML Lookup which returns the value of the element/attribute within the XML file whose path is specified. The File path and XPath must be specified in single quotes.FilePath ['C:/correct_file.xml'] XPath {'/employees/employee/Name'}
Returns value of Name element from the file correct_file.xml.Self
Returns the element which is the context node itself.
Self::Employee
Returns Employee which is the context node itself.Child
Returns the element which is the child of the context node.
Child::Name
Returns Name which is a child of the context node.Parent
Returns the element, which is the parent (if any) of the context node.
Parent::Name
Returns Name which is a parent of the context node.Following-sibling
This axis contains all the following siblings of the context node. It returns the first occurrence of the element/attribute in the next sibling of the context node. If the context node is an attribute node or namespace node, then this axis is empty.
following-sibling: employee/Name
Returns the first occurrence of Name in the next employee node.Ancestor
Returns the element which is the ancestor of the context node. This axis always includes the root node, unless the context node is the root node.
Ancestor::Name
Returns Name which is an ancestor of the context node.Ancestor-or-self
This axis contains the context node and the ancestors of the context node. It always includes the root node. It returns the context node or ancestors of the context node.
ancestor-or-self::employees/@val
Returns context node or ancestors of context node.Preceding-sibling
This axis contains all the preceding siblings of the context node. It returns the first occurrence of the element/attribute in the preceding sibling of the context node. If the context node is an attribute node or namespace node, then this axis is empty.
preceding-sibling: employee/Name
Returns the first occurrence of Name in the previous employee node.Descendant
Returns the element which is the descendant of the context node. This axis does not contain attribute nodes.
descendant::Name
Returns Name, which is a descendant of the context node.Descendant-or-self
This axis contains the context node and the descendants of the context node. It returns the context node or descendants of the context node.
descendant-or-self::employees/salary
Returns context node or descendants of context node.Generate-id
Generates a unique id for the element/attribute specified by the XPath argument.
generate-id (employees/employee/Name)
Returns unique ID for Name elementCurrent
Removes all tags from the specified xml file and returns the data.
current()
Returns data of the xml file without tags.
You can use the required sub-function of Axis mapping function to map elements. The process of using the Axis function is the same for all its sub-functions.Anchor _Toc86096301 _Toc86096301 Anchor _Toc88470442 _Toc88470442 Anchor _Hlt97024182 _Hlt97024182 Anchor _Hlt113171947 _Hlt113171947 Anchor _Hlt113171950 _Hlt113171950 Anchor _Hlt118000374 _Hlt118000374 Anchor booleanfunction booleanfunction Anchor _Toc134848124 _Toc134848124 Anchor _Toc144023048 _Toc144023048 Anchor _Toc144314294 _Toc144314294 Anchor _Toc177977136 _Toc177977136 Anchor _Toc226191081 _Toc226191081 Anchor _Toc315524666 _Toc315524666
Using Boolean FunctionAnchor _Toc315524938 _Toc315524938 The Boolean mapping function enables you to map elements by applying various logical operators in building Boolean expressions. It comprises of various sub-functions, which are listed in the table below.
Anchor _Toc156195266 _Toc156195266 Anchor _Toc177878243 _Toc177878243 Anchor _Toc208651139 _Toc208651139
Table 19: Sub-Functions of Boolean Mapping FunctionAnchor _Toc315524518 _Toc315524518 Mapping Function
Sub-Functions
Description
Example
Boolean
Equal
Returns TRUE the first variable argument is equal to the second variable argument.
(5) = (5) returns true
Not Equal
Returns TRUE the first variable argument is not equal to the second variable argument.
(5) != (50) returns true
Greater Than
Returns TRUE the first variable argument is greater than the second variable argument.
(5)> (3) returns true
Less Than
Returns TRUE the first variable argument is less than the second variable argument.
(5) < (8) returns true
Greater than Equal
Returns TRUE the first variable argument is greater than or equal to the second variable argument.
(5)>= (5) returns true
(5)>= (3) returns trueLess than Equal
Returns TRUE the first variable argument is less than or equal to the second variable argument.
(5) <= (8) returns true
(5) <= (5) returns trueOr
Returns TRUE if either of the two variable arguments evaluate to TRUE otherwise FALSE. These variable arguments can only be of Boolean data type. Hence, their value can either be TRUE or FALSE only.
(True) Or (True) returns true
(True) Or (False) returns trueAnd
Returns TRUE if both of the two variable arguments evaluate to TRUE otherwise FALSE. These variable arguments can only be of Boolean data type. Hence, their value can either be TRUE or FALSE only.
(True) And (True) returns true
(True) And (False) returns false
A Boolean sub-function is always used in conjunction with a Conditional function. Thus for the process of using the Boolean function, refer to Steps to map elements using the IF Conditional Mapping Function.Anchor _Toc88470443 _Toc88470443 Anchor contextfunction contextfunction Anchor _Toc131572385 _Toc131572385 Anchor _Toc134848125 _Toc134848125 Anchor _Toc144023049 _Toc144023049 Anchor _Toc144314295 _Toc144314295 Anchor _Toc177977137 _Toc177977137 Anchor _Toc226191082 _Toc226191082 Anchor _Toc315524667 _Toc315524667
Using Context FunctionsAnchor _Toc315524939 _Toc315524939 The Context mapping function enables you to map elements by setting or getting value of process flow context variables.
It comprises of various sub-functions, which are listed in the table below.Anchor _Toc122847169 _Toc122847169 Anchor _Toc144313784 _Toc144313784 Anchor _Toc144827062 _Toc144827062 Anchor _Toc156195267 _Toc156195267 Anchor _Toc177878244 _Toc177878244 Anchor _Toc208651140 _Toc208651140
Table 20: Sub-Functions of Context Mapping FunctionAnchor _Toc315524519 _Toc315524519 Mapping Function
Sub-Functions
Description
Example
Context
Set-Context
This is a customized mapping function.
Sets the value of the specified variable argument in the process flow context. This value can be string constant, numeric constant, XPath or output of limited set of mapping function, which can be used before set-context function.
This function does not return a value. If mapped to a target element, it creates an empty tag of that target element in output XML.
set-context ('index', '123')
sets the value of index variable as 123 in the process flow.Get-Context
This is a customized mapping function.
Returns the value of the specified variable argument from process flow Context. This value can be string constant, numeric constant, XPath or output of limited set of mapping function. If no value has been set, then the value specified in the second argument is returned.get-context ('index', '100')
Returns the value of index variable from the process flow. If no value has been set for index, then 100 is returned.
In get-context function you can also use any variable, which is not declared. In such case get-context creates a variable with the specified name and value, which can be further used with the selected target element. This can be done only in Textual Rule panel.
You can use the Set-Context sub-function of Context mapping function to set value of the process flow variable and send it to the Process Designer. The Get-Context sub-function is used to return the value of the process flow variable.Using Set-Context Function
You can use the Set-Context Function in various ways. These are outlined as:
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Concept
You can map the Set-Context function to a local variable, when you want to set the value of process flow context variable based on output of a mapping function or condition. You can pass the output of mapping function or condition to a local variable and use that local variable as value of set-context function.
For example, if you want to set the value of process flow context variable based on the output of WHEN condition. The WHEN condition is used to return "True" when value of a source element "SALARY" is greater than 8000, else it will return "False". The output of WHEN condition is mapped to a local variable "BolSalary8K". To set the value of "BolSalary8K" to the process flow context variable, you can use Set-Context function. You have to create another local variable "Var1", where value of process flow context variable "ContextVar" is set using Set-Context function. This is done by mapping Set-Context to the value part of the local variable "Var1". The first argument of the Set-Context function is the name of the process flow context variable "ContextVar" and second argument is the local variable "BolSalary8K", which contains the output of WHEN condition.
Advantages
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Steps to pass output of mapping function or condition to a local variable
...
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Select the target element that you want to map with Set-Context function.
Click Context mapping function menu and select Set-Context sub-function. A set-context node is displayed in the Mapping Graph Area (see Figure 498).
Figure 498: Set-Context Node
- Add a constant node with the name of variable (e.g. index), whose value is to be set in the process flow context.
- Create a link from the output of the constant node (index) to the first input of the set-context node.
Add another constant node for the second argument (e.g. 100) of the set-context function.
Info Second argument can be string constant, integer constant, XPath, local variable or output of limited set of mapping function, which can be used before Set-Context function.
- Create a link from the output of second constant node (100) to the second input of the set-context node.
Create a link from the output of the set-context node to the target element (see Figure 499).
Figure 499: Create Links between Nodes for Mapping Set-Context Function to Target Element
- Click the Apply Mapping ( ) button. This maps the Set-Context function to the target element. The defined variable (index) is passed to the process flow with the value 100. If you shift focus to another node, or click any of the Mapping Rules, Textual Rules, Node, Properties, XSL or Debugger tabs, without applying the mapping, an alert message is displayed (refer to Figure 522).
Click No to apply the mapping and shift focus to the other object. If you click Yes, then the mapping activity is cleared and is replaced by the previous mapping in the Mapping Graph Area and the focus is shifted to the other object.
Info At times the mapping is too large and the applet memory may exceed 256M. In such cases, the mapping will fail and return an error of insufficient memory. You can overcome this situation by increasing the applet memory. For details, refer to Appendix A in the Administrator Guide.
Anchor _Toc125446729 _Toc125446729 Anchor _Toc131572389 _Toc131572389 Anchor _Toc134848129 _Toc134848129 Anchor usingDBfunction usingDBfunction Anchor _Toc177977138 _Toc177977138 Anchor _Hlt184625530 _Hlt184625530 Anchor _Toc226191083 _Toc226191083 Anchor _Toc315524668 _Toc315524668 Anchor _Toc315524940 _Toc315524940 Anchor _Toc385441568 _Toc385441568 Anchor _Toc387747407 _Toc387747407 Anchor _Toc387748680 _Toc387748680
Using DB FunctionAnchor _Toc401308977 _Toc401308977 The DB function enables you to get data from the database, based on a condition. It comprises of a sub-function, which is listed in the table below.
Anchor _Toc177878245 _Toc177878245 Anchor _Toc208651141 _Toc208651141
Table 21: Sub-Function of DB Mapping FunctionAnchor _Toc315524520 _Toc315524520 Mapping Function
Sub-Functions
Description
Example
DB
DBQuery
Returns data from the database, based on a query.
DBQuery( 'select EmpID from EMP where EMPID=1035', var1, 'true') returns all the records from the EMP table, where EMPID is 1035.
Here, 'var1' is the Connection Info variable.
If you change the last boolean argument from true to false, only the first record is returned.PreparedQuery
Returns data from the database, based on a query.
PreparedQuery ('SELECT EMPID FROM EMP WHERE EMPNAME=? AND EMPCITY=? AND EMPISMALE=?, $oracle_databaseserver, true ,('Smith','Chicago','true')').
Here, '=?' is the variable name that you pass in the braces.
The '$oracle_databaseserver' is the name of the Connection Info variable.
If you change the last boolean argument from true to false, only the first record is returned.
You can use this sub-function of DB mapping function to get data from the database. The process of using this sub-function is outlined below.Steps to get data from the database using the 'DBQuery' DB Mapping Function
...
Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
Ensure that a Connection Info variable is created for the PreparedQuery and is listed in the Parameters Panel.
Info For details on creating a Connection Info variable, refer to the Declaring Connection Info Variable section.
- Double-click the target element that you want to map with the PreparedQuery. It is displayed in the Mapping Graph Area.
Click the DB function and select the PreparedQuery sub-function. A PreparedQuery node is displayed in the Mapping Graph Area (see Figure 503).
Figure 503: Add PreparedQuery Sub-Function Node
- Add a constant node with the query for searching data from the database based on the specified condition (e.g. Select EMPID from EMP where EMPNAME=? AND EMPCITY=? AND EMPISMALE=?, $oracle_databaseserver, true ,('Smith','Chicago','true')).
- Create a link from the output of the constant node to the first input of the PreparedQuery node.
Double-click the required Connection Info variable under Connection Info in the Parameters Panel. The selected Connection Info variable node is displayed in the Mapping Graph Area (see Figure 504).
Figure 504: Connection Info Variable in Mapping Graph Area
- Create a link from the output of the Connection Info variable to the second input of the PreparedQuery node.
- Add another constant node for the third argument of the PreparedQuery function. This is a Boolean value as true or false.
- In the fourth argument of the PreparedQuery function you can pass values through either as a variable, or as a constant, or as a xpath.
- Create a link from the output of this constant node to the third input of the PreparedQuery node.
Create a link from the output of the PreparedQuery node to the input of the target element (see Figure 505).
Figure 505: Create Links between Nodes for Mapping PreparedQuery Function to Target Element
Click the Apply Mapping ( ) button. This maps the PreparedQuery function to the target element. The defined query is passed to the database where a connection is created using the Connection Info variable. If the Boolean value is set as 'True' then the database fetches all the values that match the query. If the value is 'False', then the database fetches only the first matching value. If you shift focus to another node, or click any of the Mapping Rules, Textual Rules, Node, Properties, XSL or Debugger tabs, without applying the mapping, an alert message is displayed (see Figure 506).
Figure 506: Mapper WarningClick No to apply the mapping and shift focus to the other object. If you click Yes, then the mapping activity is cleared and is replaced by the previous mapping in the Mapping Graph Area and the focus is shifted to the other object.
Info At times the mapping is too large and the applet memory may exceed 256M. In such cases, the mapping will fail and return an error of insufficient memory. You can overcome this situation by increasing the applet memory. For details, refer to Appendix A in Administrator Guide.
Anchor _Toc177977139 _Toc177977139 Anchor _Toc184405107 _Toc184405107 Anchor _Toc226191084 _Toc226191084 Anchor _Toc315524669 _Toc315524669 Anchor _Toc315524941 _Toc315524941 Anchor _Toc344890238 _Toc344890238 Anchor _Toc385441569 _Toc385441569 Anchor _Toc387747408 _Toc387747408 Anchor _Toc387748681 _Toc387748681
Using Textual RulesTextual Rules are used for mapping source elements, mapping functions or constants to target elements, by defining the elements in syntax form.Anchor _Toc401308978 _Toc401308978
Steps to map elements using the Concat function using Textual Rules
...
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Select the target element that you want to map. It is displayed in the Mapping Graph Area.
- Click the Textual Rules tab in the Mapping Graph Area.
Click String mapping function and select Concat sub-function. The syntax for the Concat sub-function is displayed in the Mapping Graph Area (see Figure 507).
Figure 507: Syntax for Concat Sub-Function
This syntax has two parameters. Double-click a source element that you want to set as the first parameter. This displays the selected source element in the syntax.
Similarly, double-click another source element as the second parameter. This is displayed in the syntax (see Figure 508).Figure 508: Parameters of the Concat Syntax
Info You can indent the textual rule content as per your requirement.
- Click the Apply Mapping ( ) button. This maps elements using the concat sub-function. A line is displayed between the source and target panels showing the mapping of the source element to the target element.
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Namespace allows you to add, view, edit, and remove the namespace in the XSL. All the Namespaces present in the source and target XSD's are automatically placed in the XSL generated. These Namespaces can be viewed using View Namespace option in the Namespace submenu.
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Steps to add a Namespace in the XSL
...
Once you have created a XSL template, you can use it to map elements. On the Manage XSL Template screen, by default the XSL Rules tab is selected. To create a XSL template using the Mapping Rules, click the Mapping Rules tab.
Steps to create an XSL template using the XSL Rules
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Steps to declare a Global Variable
...
Anchor | ||||
---|---|---|---|---|
|
Once the global variable is added to the Parameters Panel, you can edit it or delete it anytime from this Panel itself.
Steps to manage a Global Variable from the Parameters Panel
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Map Global Variable to Target Element
Once you have created a global variable, you can map it to a target element.
Steps to map Global Variable to target element
...
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Click Node tab displayed in the Mapping Graph Area. All tabs of the Node tab are displayed.
Click the Local Variables tab. The Local Variable pane is displayed in the Mapping Graph Area (see Figure 527).
Figure 527: Local Variable Pane
Click Local Variable Name text field and enter the name of the local variable you want to create (e.g. varQuery). Press the Tab or Enter key. This takes the control to the Local Variable Value field.Anchor _Hlt123365871 _Hlt123365871
Enter the value of the local variable in the Local Variable Value field. You can enter the value of the local variable using one of the listed methods:Anchor _Hlt123365869 _Hlt123365869
- Click required source element
- Select the required Mapping function
- Type the required value manually
- Select a Custom Method
Enter comments for the local variable in the Add Comment field (see Figure 528). For example, if the local variable value contains complex XSLT logic, you can enter its description in this field.
Info The Comments field is resizable.
Figure 528: Enter Name, Value and Comment for Local VariableInfo To select a Custom Method as the value of a local variable, double click the desired Custom Method under Custom Methods in the Parameters Panel. The selected Custom Method is displayed in the Variable Definition field.
To learn how to declare a Custom Method, refer to section Using Custom Method.Click the Save Local Variable ( ) button to save the local variable for the selected target element. This local variable is added to the list of existing variables in the Local Variable Name field. It is also displayed under Local Variables in the Parameters Panel. If you shift the focus to another node, or click any of the Mapping Rules, Textual Rules, Global Variables, Properties, XSL or Debugger tabs, without saving the local variable, an alert message is displayed (refer to alertmsg Figure 522). The comments added for the local variable are saved and displayed above the local variable declaration in the Mapping XSL (refer to Figure 523).
Info The alert message is also displayed when shifting focus between Global and Node tabs.
Click No to save the local variable and shift the focus to the other object. If you click Yes, then the defined local variable is cleared and the focus is shifted to the other object.
Info Once the local variable is saved, it is categorized as Current Variable or Ancestor Variable in the Parameters Panel. If it is created for a child node, then it is saved as a Current Variable. If it is created for a parent's parent node, then it is saved as an Ancestor Variable.
Info You can rearrange the local variables by dragging it up or down in the list.
Steps to manage a Local Variable from the Parameters Panel
...
- Right-click the local variable that you want to edit or delete. This displays the right dropdown menu.
Select Edit to edit the variable. This displays the selected local variable in Edit mode. You can edit the value of the local variable in the Local Variable Value field. You can also edit the name of the local variable in the Local VariableName field (see Figure 529).
Figure 529: Edit Name, Value and Comment for Local Variable
Click the Save Local Variable ( ) button to save the edited local variable. An alert message is displayed.
Figure 530: Alert Message
Click OK to save the changes.
Info To remove a local variable, select the local variable and click Remove selected local variable ( ) button.
To remove all local variables, click Remove all local variables ( ) button.
Alternately, you can delete a local variable from the Parameters Panel itself. For details, refer to the Managing a Global Variable from Parameter Panel section.Anchor _Toc131572405 _Toc131572405
Map Local Variable to Target ElementAnchor _Toc134848145 _Toc134848145
Once you have created a local variable, you can map it to the specific target element or attribute.Steps to map Local Variable to specific target element
...
Anchor | ||||
---|---|---|---|---|
|
Anchor | ||||
---|---|---|---|---|
|
Once you have created a custom method, you can map it to a target element.
Steps to map Custom Method to target element
...
- Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
Right-click the cloned element that you want to remove and select the Remove Clone option. A screen is displayed confirming the removal of the selected clone (see Figure 556).
Figure 556: Confirm Remove CloneClick Yes to remove the clone. This removes the selected clone from the target schema.
Info If more than one clone has been created for an element, then you need to remove the clones in descending order.
Anchor _Toc131572417 _Toc131572417 Anchor _Toc134848157 _Toc134848157 Anchor _Toc144023064 _Toc144023064 Anchor _Toc144314310 _Toc144314310 Anchor _Toc177977161 _Toc177977161 Anchor _Toc184405120 _Toc184405120 Anchor _Toc226191107 _Toc226191107 Anchor _Toc315524693 _Toc315524693 Anchor _Toc315524965 _Toc315524965 Anchor removeschema removeschema Anchor _Toc344890252 _Toc344890252 Anchor _Toc385441583 _Toc385441583 Anchor _Toc387747422 _Toc387747422 Anchor _Toc387748695 _Toc387748695
Adding a Character Data ( CData) SectionAnchor _Toc401308992 _Toc401308992 The XML parsers normally parse the complete text in an XML document i.e., when an XML element is parsed, the text data between the XML tags is also parsed. Consider the following example:,
<message>This text will also be parsed</message>
In this example, the message between the <message> and </message> text will normally be parsed by the XML parser. Consider another example:
<name><first>Hello</first><last>User!</last></name>
In this example also, the XML parser will break the XML tags and parse the text data as Hello User!
The text data that is parsed by the XML parser is termed as Parsed Character Data or PCData.
However, the user may require to add some text data that should not be parsed by the XML parser. The Character Data or CData is the text data that should not be parsed by the XML parser. CData is also termed as Unparsed Data.
Adeptia Suite enables you to add a CData section with the target schema. The text data inside a CDATA section is ignored by the parser.
A CDATA section starts with "<![CDATA[" and ends with "]]>". CDATA sections are useful for writing XML code as text data within an XML document.Info A CDATA section cannot contain the string "]]>" and therefore it is not possible for a CDATA section to contain nested CDATA sections.
You can use multiple CDATA sections by splitting each occurrence of the "]]>"just before the ">".
Steps to add a CData section
...
You can add a namespace prefix to a target element. This prefix is displayed next to the target element in the target schema, and is automatically displayed in the Output section on the Debugger screen.
Steps to add a namespace prefix to a target element
...