The following example includes a mapping that contains a flat file source of country names, regions, and revenue dollars per region. The target is an XML file. The root view contains the primary key, XPK_COL_0, which is a string.
Each time the Integration Service passes a new country name to the root view the Integration Service generates a new target file. Each target XML file contains country name, region, and revenue data for one country.
The Integration Service passes the following rows to the XML target:
Country,Region,Revenue
USA,region1,1000
Canada,region1,100
USA,region2,200
USA,region3,300
USA,region4,400
France,region1,10
France,region2,20
France,region3,30
France,region4,40
The Integration Service builds the XML files in cache. The Integration Service creates one XML file for USA, one file for Canada, and one file for France. The Integration Service creates a file list that contains the file name and absolute path of each target XML file.
If you specify “revenue_file.xml” as the output file name in the session properties, the session produces the following files:
revenue_file.xml.
Contains the Canada rows.
revenue_file.1.xml.
Contains the France rows.
revenue_file.2.xml.
Contains the USA rows.
revenue_file.xml.lst.
Contains a list of each XML file the session created.
If the data has multiple root rows with circular references, but none of the root rows has a null foreign key, the Integration Service cannot find a root row. You can add a FileName column to XML targets to name XML output documents based on data values.