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.
...
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
...
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
...
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
...
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
- Ensure that all the source and target schemas are loaded and all their elements are listed under their respective nodes.
- Ensure that a Splitter XPath has been set for a source schema element.
Right-click the target schema element on which you want to merge the split data and select the Set as Merger XPath option. A screen showing the Merger XPath details is displayed (see Figure 470).
Figure 470: Merger XPath DetailsInfo Merging can be set only on root or record levels. You cannot merge on an element level.
Click OK. This merges the split data and sets the Merger XPath on the selected target element.
Info Once a Merger XPath is set for a target element, the letter (S) is displayed next to that target element. This signifies that the split data has been merged on the target element and the Merger XPath has been set. Refer to Table of Suffixes for details on suffixes displayed next to an element.
Info You can view Merger XPath details in the output XML. A $ input tag is prefixed to the line containing the Splitter XPath details.
Info When using Enable Quick Splitting feature, the Merger Xpath is also automatically set when this feature is selected.
- Once you have set a Merger XPath, you can view it in the Output XML.
Step to To view Merger XPath
Click View menu and select View Mapping XML. The Mapping XML window is displayed. The Merger XPath details are displayed with Target XPath code (refer to Figure 468).
You can remove a Merger XPath that has been set for a target element.
...
You can remove mapping associated with a particular element.
Steps to remove mapping of a particular element
...
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 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
...
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
...
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.
- Click the target element for which you want to add a comment.
- Click the Node tab displayed in the Mapping Graph Area. All tabs of the Node tab are displayed.
- Click the Properties tab. The Properties pane is displayed (refer to Figure 548).
Click the Comments property field and enter the comment for the selected target element (see Figure 550).
Figure 550: Enter Comment
- Click Save Properties. This adds the comment and displays it next to the target element. If you shift focus to another node, or click any of the Mapping Rules, Textual Rules, Global Variables, Properties, XSL or Debugger tabs, without saving the comments, an alert message is displayed (refer to Figure 522).
Click No to save the comments and shift focus to the other object. If you click Yes, then the defined comments are cleared and the focus is shifted to the other object.
Info Once a comment is added to a target element, the letter (CM) is displayed next to the target element. This signifies that a comment has been created for the target element. Refer to Table of Suffixes for details on suffixes displayed next to a target element.
Anchor _Toc123365651 _Toc123365651 Anchor _Toc131271534 _Toc131271534 Anchor _Toc134263447 _Toc134263447 Anchor _Toc144312869 _Toc144312869 Anchor _Toc144313555 _Toc144313555 Anchor _Ref144629252 _Ref144629252 Anchor _Ref144733625 _Ref144733625 Anchor _Toc177976683 _Toc177976683 Anchor _Ref184623399 _Ref184623399 Anchor _Toc208650722 _Toc208650722 Anchor _Toc239872400 _Toc239872400 Anchor _Toc315524262 _Toc315524262
Figure 551: Sample Input XMLAnchor _Toc401308613 _Toc401308613 Anchor setsortingrules setsortingrules Anchor _Toc131572414 _Toc131572414 Anchor _Toc134848154 _Toc134848154 Anchor _Toc144023061 _Toc144023061 Anchor _Toc144314307 _Toc144314307 Anchor applysortingrules applysortingrules Anchor _Toc177977156 _Toc177977156 Anchor _Toc226191102 _Toc226191102 Anchor _Toc315524688 _Toc315524688
Setting Sorting RulesAnchor _Toc315524960 _Toc315524960
You can set sorting rules for a target element. It is used to sort value of elements in the generated output. While generating the output XML, the value of elements can be sorted either in ascending or descending order. For example, records of the employee can be sorted based on their salaries. Figure 551 shows input XML before sorting.Code Block <?xml version="1.0" encoding="UTF-8" ?> - <employees> - <employee attribute="14" attribute1="15"> <TESTCASENO>TESTCASENO1</TESTCASENO> <DESCRIPTION>DESCRIPTION1</DESCRIPTION> <NAME>John</NAME> <ADDRESS>Address1</ADDRESS> <EMAILID>EMAILID1</EMAILID> <PHONENO>PHONENO1</PHONENO> <DOB>DOB1</DOB> <DEPT>DEPT1</DEPT> <SALARY>10000</SALARY> <DOJ>DOJ1</DOJ> <DESIGNATION>DESIGNATION1</DESIGNATION> <AGE>34</AGE> </employee> - <employee attribute="14" attribute1="15"> <TESTCASENO>TESTCASENO2</TESTCASENO> <DESCRIPTION>DESCRIPTION2</DESCRIPTION> <NAME>David</NAME> <ADDRESS>ADDRESS2</ADDRESS> <EMAILID>EMAILID2</EMAILID> <PHONENO>PHONENO2</PHONENO> <DOB>DOB2</DOB> <DEPT>DEPT2</DEPT> <SALARY>8000</SALARY> <DOJ>DOJ2</DOJ> <DESIGNATION>DESIGNATION2</DESIGNATION> <AGE>45</AGE> </employee> - <employee attribute="14" attribute1="15"> <TESTCASENO>TESTCASEN3</TESTCASENO> <DESCRIPTION>DESCRIPTION3</DESCRIPTION> <NAME>Ricky</NAME> <ADDRESS>ADDRESS3</ADDRESS> <EMAILID>EMAILID3</EMAILID> <PHONENO>PHONENO3</PHONENO> <DOB>DOB3</DOB> <DEPT>DEPT3</DEPT> <SALARY>15000</SALARY> <DOJ>DOJ3</DOJ> <DESIGNATION>DESIGNATION3</DESIGNATION> <AGE>36</AGE> </employee> </employees>
Figure 552 shows the Output XML after sorting.Code Block <?xml version="1.0" encoding="UTF-8" ?> - <employees xmlns:java="http://xml.apache.org/xslt/java" xmlns:str="http://exslt.org/strings"> - <employee attribute="" attribute1=""> <TESTCASENO>TESTCASEN3</TESTCASENO> <DESCRIPTION>DESCRIPTION3</DESCRIPTION> <NAME>Ricky</NAME> <ADDRESS>ADDRESS3</ADDRESS> <EMAILID>EMAILID3</EMAILID> <PHONENO>PHONENO3</PHONENO> <DOB>DOB3</DOB> <DEPT>DEPT3</DEPT> <SALARY>15000</SALARY> <DOJ>DOJ3</DOJ> <DESIGNATION>DESIGNATION3</DESIGNATION> <AGE>36</AGE> </employee> - <employee attribute="" attribute1=""> <TESTCASENO>TESTCASENO1</TESTCASENO> <DESCRIPTION>DESCRIPTION1</DESCRIPTION> <NAME>John</NAME> <ADDRESS>Address1</ADDRESS> <EMAILID>EMAILID1</EMAILID> <PHONENO>PHONENO1</PHONENO> <DOB>DOB1</DOB> <DEPT>DEPT1</DEPT> <SALARY>10000</SALARY> <DOJ>DOJ1</DOJ> <DESIGNATION>DESIGNATION1</DESIGNATION> <AGE>34</AGE> </employee> - <employee attribute="" attribute1=""> <TESTCASENO>TESTCASENO2</TESTCASENO> <DESCRIPTION>DESCRIPTION2</DESCRIPTION> <NAME>David</NAME> <ADDRESS>ADDRESS2</ADDRESS> <EMAILID>EMAILID2</EMAILID> <PHONENO>PHONENO2</PHONENO> <DOB>DOB2</DOB> <DEPT>DEPT2</DEPT> <SALARY>8000</SALARY> <DOJ>DOJ2</DOJ> <DESIGNATION>DESIGNATION2</DESIGNATION> <AGE>45</AGE> </employee> </employees>
Info The Sorting rules can be set only for record where For Each Mapping or Apply Template is used. The <xsl:apply-templates> element applies a template to the current element or to the child nodes of the current element, when the parent elements of source and target schemas are mapped.
Anchor _Toc134263448 _Toc134263448 Anchor _Ref144022821 _Ref144022821 Anchor _Toc144312870 _Toc144312870 Anchor _Toc144313556 _Toc144313556 Anchor _Ref144733658 _Ref144733658 Anchor _Toc177976684 _Toc177976684 Anchor _Ref184623428 _Ref184623428 Anchor _Toc208650723 _Toc208650723 Anchor _Toc239872401 _Toc239872401 Anchor _Toc315524263 _Toc315524263
Figure 552: Output XMLAnchor _Toc401308614 _Toc401308614 Anchor _Hlt123365400 _Hlt123365400
Steps to set Sorting Rules
- 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.
To use Apply template, click Employee (parent) element in the source panel and drag the mouse pointer to the Employee (parent) element in the target panel. A line is displayed between the source and target panels indicating the mapping between source and target elements (see Figure 553).
Figure 553: Apply TemplateInfo To learn how to set For Each property on employee element refer to the section Setting For Each Property.
- Click the Node tab displayed in the Mapping Graph Area. All tabs of the Node tab are displayed.
- Click the Properties tab. The Properties pane is displayed (refer to Figure 548).
Click the Click here to add/view Sorting Rules option displayed against the Sorting property field. This displays the Add New Sorting Rules dialog box (see Figure 554).
- Figure 554: Sorting Rules Dialog Box
This screen displays the name of the selected target record to be sorted.
Figure 554: Sorting Rules Dialog Box- Type the name of the source element on the basis of which you want to sort output (e.g. SALARY), in the Source Element field.
- Select the data type as either text or numeric from the Data Type dropdown list. This specifies how the input value is to be interpreted. By default, text is selected.
- Select the sorting order as ascending or descending from the Order dropdown list. By default, ascending is selected.
- Click Save to save the sorting rule.
Click Close to return the Data Mapper screen. The letter (SR) is displayed next to the sorted target element. This signifies that the target element has been sorted based on the specified source element. Refer to the [Table of Suffixes|Using Data Mapper#suffixestable] for details on suffixes displayed next to an element.
Info More than one sorting can also be applied to a single target element. For example, if salary of two employees is same, they can be further sorted out based on their age.
To delete sorting, click View/Remove button. The Remove Sorting Rules dialog box is displayed with a list of existing sorting rules. Select sorting rule and click Remove/Remove All to delete sorting rules.
Once the sorting is applied based on the set rules, the output XML is displayed as displayed in Figure 552.Anchor _Toc88470449 _Toc88470449 Anchor _Toc112820689 _Toc112820689 Anchor _Toc114994148 _Toc114994148 Anchor _Toc125446739 _Toc125446739 Anchor _Toc131572415 _Toc131572415 Anchor _Toc134848155 _Toc134848155 Anchor _Toc144023062 _Toc144023062 Anchor _Toc144314308 _Toc144314308 Anchor _Toc177977157 _Toc177977157 Anchor _Toc184405118 _Toc184405118 Anchor _Toc226191103 _Toc226191103 Anchor _Toc315524689 _Toc315524689 Anchor _Toc315524961 _Toc315524961 Anchor _Toc344890250 _Toc344890250 Anchor _Toc385441581 _Toc385441581 Anchor _Toc387747420 _Toc387747420 Anchor _Toc387748693 _Toc387748693
Filtering of Elements/Attributes in Target DataYou can filter elements or attributes from appearing in the target XML. There are two ways to filter data:Anchor _Toc401308990 _Toc401308990
Using IFF Condition
- Using Apply Filter checkbox from right-click popup menu
...
- 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
...