Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

You can set various properties of a target element. The Properties pane comprises of various properties, which are outlined in the table below.

Property

Description

For Each

Sets the For Each property for the destination element. It is used to repeat occurrences of a destination element depending on the total occurrences of a source element in the source file.

Sorting

Sets the Sorting rules for the destination element. It allows you to view or remove sorting rules for the destination element.

Disable-Output-Escaping

Sets the disable-output –escaping property for the target element. It is used to include this property under the 'value-of' element in the generated XSL. By default, this property is set as 'no'.


For Each

The For Each property is used to repeat the occurrences of a target element or node, depending on the total occurrences of a source element or a node in the source file. For example, an XML layout with a node customer has three elements, first_name, last_name, and state. This layout is used both at the source and at the destination end.

Suppose, the source file has 10 occurrences of the customer. Applying the For Each property on the destination node customer, for the source node customer, generates an output file containing 10 occurrences of the customer in it.

  • If For Each property is not used, an output file is generated with only one occurrence of customer in it.
  • For Each and Apply Template both cannot be used simultaneously on one node.

Follow the steps below to set the For Each property:

Info
Ensure that the source and destination layout are loaded and all their elements are listed under their respective nodes.
  1. Click the destination element for which you want to set the For Each property.

  2. Click the Mapping Expression tab.

  3. Click the Properties mapping function, select For Each, and then double-click the source element using which you want to apply the For Each property.
    This displays the entire path of the source element in the mapping expression area.

    Note

    You can set the For Each property on more than one source element. You can use the | character as a separator between the XPath of each source element.


    Tip

    Once the For Each property is applied to a target element, the letter (F) is displayed next to the target element.


To remove the For Each property from the destination element, follow the steps below:

  1. Click More menu icon for the destination element, and then select the Remove Mappings option.
  2. On the Remove Options screen, select the Remove For Each check box.
  3. Click Remove.

Setting Sorting rules

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 sortingBelow is the sample Input XML file

<?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 551: Sample Input XML   

Figure 552 The image below shows the Output XML after sorting.

<?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>
Figure 552: Output XML 

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. 

Follow the steps below to set the sorting rules:

  1. Ensure that the source and target schemas are loaded and all their elements are listed under their respective nodes.
  2. Ensure that the source and target elements to be mapped are selected and displayed in the Mapping Graph Area.
  3. 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 Template

    To learn how to set For Each property on employee element refer to the section Setting For Each Property.

  4. Click the Node tab displayed in the Mapping Graph Area. All tabs of the Node tab are displayed.
  5. Click the Properties tab. The Properties pane is displayed (refer to Figure 548).
  6. 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).

    This screen displays the name of the selected target record to be sorted.


    Figure 554: Sorting Rules Dialog Box

  7. 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.
  8. 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.
  9. Select the sorting order as ascending or descending from the Order dropdown list. By default, ascending is selected.
  10. Click Save to save the sorting rule.
  11. 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.

    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.