Description

The DelimitedFileSegmentMergeReceiver  merges the data from two or more domains into a single delimited file. It merges the two or more segmented data files, generated from the SegmentDataCreatorReceiver, into one or more delimited formatted files. 


In This Article


When should this Receiver be used? 

  • Any time you want to generate nested delimited file output.


Are any additional items required to use this Receiver? 

  • SegmentDataCreatorReceiver- Must be assigned to each Domain, except the Merge Domain.
    • Note: The DelimitedFileSegmentMergeReceiver should only be assigned to the Merge Domain that merges the generated segments.

  • Configuration File - Used to determine the XML output format. This is typically named "config.xml", but can be named differently if needed. 
    • Note: When named differently, the name will also need to be changed for the configName parameter within the Receiver.


List of Steps to Generate Nested Delimited File Format

  1. Set up a Project with Domains, Parent-Child Relationships, and Scenarios.
  2. For each Domain except the Merge Domain, assign the SegmentDataCreatorReceiverand configure it accordingly.
  3. Create a Merge Domain with just an id Attribute 
    • Note: This may have already been done if Domains were imported.
  4. Add the DelimitedFileSegmentMergeReceiver to the Merge Domain and configure it, as discussed in this article. 
  5. Create a Scenario Chain with all Domain Scenarios. Make sure the Merge Scenario is in the last position.
  6. Create a Configuration File as discussed in this article. 
  7. Download the Scenario Chain to your local computer.
  8. Download the Configuration file to your local computer. 


Receiver Parameters

The DelimitedFileSegmentMergeReceiver requires that the following parameters are defined. Items with an asterisk* are required.

  • outputPath* - Defines the location to store the newly generated nested delimited text file(s).
  • outputSubDirectory* - Defines the prefix name of subdirectories that are auto-created under the outputPath and then appended with a number.
  • configName* - Defines the name of the configuration file.
  • configPath *- Defines the location where the configuration file is to be stored.
  • configSubDir - Defines the subdirectory under the configPath directory where the configuration file is to be stored.
  • segmentPath* - Defines the path to the Segment directory where all segment subdirectories can be found.
  • segmentSubDirectory* - Defines the subdirectory under the segmentPath where segment files can be found.
  • filesPerOutputSubDir* - Defines the number of files to be generated per output subdirectory.
  • columnDelimiter* - Defines the value used for a column delimiter.
  • lineDelimiter* - Defines the value used for a next line delimiter.
  • overrideFileName - Defines the fileName, which will override the fileName provided in the configuration file.
  • deleteOutputSubDir - Defines whether to delete the generated or an existing outputSubDirectory or not during the execution of the Scenario.
  • multipleFileOutput - Defines whether the nested records will go in one file or multiple files based on the loopCount of the Root Domain. A value "false" means that only one file will be created for all the nested records. A value of "true" means that one file will be created for each nested record, resulting in multiple files. 


File and Directory Config Tabs

The File Config and Directory Config Tabs are used to configure which event will trigger file/directory creation and the naming configuration for generated files/directories. For more information, see How to use Dynamic File and Directory Configuration for Receivers. 


File/Directory Creation Event

Determines the event that will trigger file/directory creation.

  • No Event - The value defined within the Receiver Parameters will be used. 
  • Random - Creation event triggered each time the count reaches the chosen random value.
  • Constant - Creation event is triggered each time the count reaches the defined value.



Dynamic File/Directory Name Configuration

Defines the naming configuration for generated files/directories. Users can have up to 10 items within the configuration.

  • Constant - A constant value that will be part of the file name. 
  • Counter - A value that increases by 1 for each file that is created.
  • Timestamp - A timestamp that will be part of the file name. 
  • Cross Reference - References a Domain Attribute that will be part of the file name.


Cross-Referencing Hidden Attributes for Dynamic File or Directory Name

Additional steps are required when a user needs to hide an Attribute from the output and cross-reference the Attribute for the Dynamic File or Dynamic Directory Name. 


These additional steps are required for the Attribute to remain hidden and be used in the file or directory name:  

  1. Make the Attribute Visible in the Attribute Dashboard.
  2. Hide the Attribute within the Config.xml file.


Note: To see a full example of how to set this up for a hidden Attribute, click here.


Example User Story

The examples given below will be based on the generation of segmented data for four Domains. There are four Domains that represent the following hierarchy in parent-child relationships:

  • OrganizationDomain is the Root Domain (i.e., Parent Domain)
  • DepartmentDomain is a child of the OrganizationDomain
  • UserDomain is a child of the DepartmentDomain
  • AddressDomain is a child of the UserDomain


Each Domain will use a SegmentDataCreatorReceiver to generate segmented data output with referential integrity with regard to parent-child relationships. The last Domain, Merge, will also use a DelimitedFileSegmentMergeReceiver to merge the segmented data generated for each Domain into one or more nested delimited text output files.

Five Scenarios will be created, out of which Four Scenarios will be containing the instruction on how much-segmented data to generate for each Domain, and the last Scenario will merge the segments together to generate the output.

Lastly, the Scenarios can be chained together so that they can be run with one command instead of four separate commands. See 
How do I create a Scenario Chain? for more information.



Configuration File

The DelimitedFileSegmentMergeReceiver requires a configuration file (e.g., config.xml) to properly merge the generated segments. In most cases, the configuration file will need to be manually created within the GenRocket web platform. For some Domain Imports, this configuration file is created automatically for you.


The configuration file defines the following elements of information:

  1. fileNameSegments - contains sub-elements that define how file names are created for each delimiter file generated.

  2. segmentFiles - contains sub-elements that define the file names of the segment data files to merge.

  3. elements - contains nested subelements that define the format of the delimited text output.


Steps to Create the Configuration File

  • Within the Project Dashboard, select the Configuration Management Tab within the Management pane.
  • Click the New Configuration button.



  • Select the Delimited Format radio button and click the Select button.



  • Enter the required parameters to create a configuration file and click the Save button.
    • Name - Defines the unique name for the Fixed File configuration.
    • Config File Name - Defines the name of the configuration file that DelimitedFileSegmentMergeReceiver will read to create a Fixed File format file.
    • Output File Name Format - Defines the format for the name of the output file.
    • Definitions - Defines the various segment files that will be used to build nested XML.



    • ignoreLineSeparator checkbox- By default, this option is unchecked (i.e., false), and domain data will appear on a separate line in the generated output file. When checked, the ignoreLineSeparator parameter will be set to 'true" in the configuration file, and the data will appear on the same line for those Domains in the generated file. For example, if checked for the User and Address, these values will appear on the same line in the generated file. 


  • Arrange the Segments in a hierarchy by dragging/dropping the segments. Once finished, click Done.


Steps for Downloading Configuration File

Once the configuration file has been created within the GenRocket web platform, the user must download it to their local machine along with any other required files (e.g., Scenario, Scenario Chain, Scenario Chain Set, Test Data Cases).

This can be done by clicking on the Download (Cloud) icon for the configuration file within the Configuration Management Tab.


The user must copy the configuration file to a "config" subdirectory located in the path defined for their resource.output.directory Organization Resource.


Note: If the subdirectory value has been changed within the DelimitedFileSegmentMergeReceiver, the configuration file must be placed there.


Example Configuration File

The created configuration file for this example is defined to allow four-segment files to be merged into one or more delimited nested output files. The format of the segmented data must produce nested output that meets the following rules:

  • There must be three organizations generated, and each to its own nested delimited text file.
  • Each organization must have three departments
  • Each department must have three users
  • Each user must have one address   


The XML configuration file

To generate multiple organizations in a separate file, the multiFile parameter is set to true; otherwise, only one nested Delimited file containing all organizations would be generated. 


<Config>
   <fileNameSegments>
      <fileNameSegment segmentType="Constant" value="Organization-" />
      <fileNameSegment segmentType="TimeStamp" value="yyyyMMddHHmmss" />
      <fileNameSegment segmentType="Constant" value="-" />
      <fileNameSegment segmentType="Counter" value="1" />
      <fileNameSegment segmentType="Constant" value=".txt" />
   </fileNameSegments>
  <segments>
    <segment domainName='Department' segmentFile='department' partitionSegmentSubDir='' ignoreLineSeparator='false' />
    <segment domainName='Organization' segmentFile='organization' partitionSegmentSubDir='' ignoreLineSeparator='false' />
    <segment domainName='User' segmentFile='user' partitionSegmentSubDir='' ignoreLineSeparator='false' />
    <segment domainName='Address' segmentFile='address' partitionSegmentSubDir='' ignoreLineSeparator='false' />
  </segments>
  <segmentHierarchy>
    <segment domainName='Organization'>
      <segment domainName='Department'>
        <segment domainName='User'>
          <segment domainName='Address' />
        </segment>
      </segment>
    </segment>
  </segmentHierarchy>
</Config>


The example configuration file defines the following information.


FileNameSegments

The subelements will produce a file naming convention that looks like the following:

  • Organization-20200116171247-1.xml
  • Organization-20200116171259-2.xml
  • Organization-20200116171259-3.xml


SegmentFiles

The following segment files will be loaded, and their data used in the merge process.

  • OrganizationSegment.xml

  • DepartmentSegment.xml

  • UserSegment.xml

  • AddressSegment.xml


Elements

The elements and subelements are configured to produce the following nested delimited structure.


organization
department
user
address



Example Files

All of the example files below were generated by GenRocket.


Example merged nested Delimited file.

The following is an example of a merged Delimited file for the first organization generated.


1,BorgWarner Inc.,1000 N Washington Dr,Lincoln,NE,68501,www.borgwarner.com
1,Department1,Ms. Aja E. Grubb,aja.grubb@example.com,1
1,Shane,Giglio,K,C4CA4238A0B923820DCC509A6F75849B,user1@example.com,1
1000 N Washington Dr,Tallahassee,Florida,32301,1
2,Lesia,Joe,J,C81E728D9D4C2F636F067F89CC14862C,user2@example.com,1
1001 S Adams Sq,Santa Fe,New Mexico,87501,2
3,Libby,Min,B,ECCBC87E4B5CE2FE28308FD9F2A7BAF3,user3@example.com,1
1002 E Jefferson Ct,Trenton,New Jersey,08601,3
2,Department2,Mrs. Adria L. Large,adria.large@example.com,1
4,Odilia,Spivey,D,A87FF679A2F3E71D9181A67B7542122C,user4@example.com,2
1003 W Madison St,Bismarck,North Dakota,58501,4
5,Sabina,Kilgore,B,E4DA3B7FBBCE2345D7772B0674A318D5,user5@example.com,2
1004 NS Monroe Rd,Richmond,Virginia,23173,5
6,Noreen,Shanahan,J,1679091C5A880FAF6FB5E6087EB1B2DC,user6@example.com,2
1005 NE Adams Ave,Denver,Colorado,80012,6
3,Department3,Mr. Colton O. Travis IV,colton.travis@example.com,1
7,Eliana,Badillo,H,8F14E45FCEEA167A5A36DEDD4BEA2543,user7@example.com,3
1006 NW Jackson Blvd,Springfield,Illinois,62701,7
8,Waltraud,Bagby,I,C9F0F895FB98AB9159F51FD0297E236D,user8@example.com,3
1007 SE Van Buren Wy,Jackson,Mississippi,39201,8
9,Ophelia,Mcneal,N,45C48CCE2E2D7FBDEA1AFC51C7C6AD26,user9@example.com,3
1008 SW Harrison Ln,Carson City,Nevada,89701,9
2,NII Holdings, Inc.,1001 S Adams Sq,Montpelier,VT,05601,www.nii.com
4,Department4,Mr. Kasey Y. Bolinger III,kasey.bolinger@example.com,2
10,Lakeisha,Amaral,I,D3D9446802A44259755D38E6D163E820,user10@example.com,4
1009 EW Tyler Cir,Salt Lake City,Utah,84101,10
11,Maribeth,Spurlock,O,6512BD43D9CAA6E02C990B0A82652DCA,user11@example.com,4
1010 N Polk Pk,Dover,Delaware,19901,11
12,Randee,Coburn,S,C20AD4D76FE97759AA27A0C99BFF6710,user12@example.com,4
1011 S Taylor Pkwy,Montpelier,Vermont,05601,12
5,Department5,Rev. Delphine A. Couch,delphine.couch@example.com,2
13,Phylis,Shoaf,W,C51CE410C124A10E0DB5E4B97FC2AF39,user13@example.com,5
1012 E Fillmore Dr,Atlanta,Georgia,30301,13
14,Candie,Englert,E,AAB3238922BCC25A6F606EB525FFDC56,user14@example.com,5
1013 W Pierce Sq,Hartford,Connecticut,06101,14
15,Tawana,Deboer,D,9BF31C7FF062936A96D3C8BD1F8F2FF3,user15@example.com,5
1014 NS Buchanan Ct,Juneau,Alaska,99801,15
6,Department6,Mrs. Latoya J. Wideman,latoya.wideman@example.com,2
16,My,Remy,R,C74D97B01EAE257E44AA9D5BADE97BAF,user16@example.com,6
1015 NE Lincoln St,Hartford,Connecticut,06101,16
17,Pamelia,Chavira,W,70EFDF2EC9B086079795C442636B55FB,user17@example.com,6
1016 NW Johnson Rd,Cheyenne,Wyoming,82001,17
18,Joetta,Roscoe,V,6F4922F45568161A8CDF4AD2299F6D23,user18@example.com,6
1017 SE Grant Ave,Cheyenne,Wyoming,82001,18
3,Fluor Corporation,1002 E Jefferson Ct,Trenton,NJ,08601,www.fluor.com
7,Department7,Mr. Norris T. Laborde Sr,norris.laborde@example.com,3
19,Jacki,Lentz,K,1F0E3DAD99908345F7439F8FFABDFFC4,user19@example.com,7
1018 SW Hayes Blvd,Richmond,Virginia,23173,19
20,Windy,Haskell,B,98F13708210194C475687BE6106A3B84,user20@example.com,7
1019 EW Garfield Wy,Hartford,Connecticut,06101,20
21,Clementine,Zamora,O,3C59DC048E8850243BE8079A5C74D079,user21@example.com,7
1020 N Arthur Ln,Honolulu,Hawaii,96801,21
8,Department8,Miss. Katharina S. Braddy,katharina.braddy@example.com,3
22,Vicenta,Skelly,W,B6D767D2F8ED5D21A44B0E5886680CB9,user22@example.com,8
1021 S Cleveland Cir,Des Moines,Iowa,50301,22
23,Gracie,Breedlove,I,37693CFC748049E45D87B8C7D8B9AACD,user23@example.com,8
1022 E Harrison Pk,Jackson,Mississippi,39201,23
24,Eliana,Atherton,H,1FF1DE774005F8DA13F42943881C655F,user24@example.com,8
1023 W Cleveland Pkwy,Jefferson City,Missouri,65101,24
9,Department9,Mr. Chet F. Paquette IV,chet.paquette@example.com,3
25,Breanne,Wesson,N,8E296A067A37563370DED05F5A3BF3EC,user25@example.com,9
1024 NS McKinley Dr,Washington,District Of Columbia,20001,25
26,Marisa,Gales,K,4E732CED3463D06DE0CA9A15B6153677,user26@example.com,9
1025 NE T. Roosevelt Sq,Augusta,Maine,04330,26
27,Sherry,Gainey,S,02E74F10E0327AD868D138F2B4FDD6F0,user27@example.com,9
1026 NW Taft Ct,Nashville,Tennessee,37201,27


Example Segment Files

The following are four example segmented data files used to generate the merged nested delimited files.


OrganizationSegment.xml 

This file will contain three segments, each having one data element containing the organization attributes, a loopCount equal to one, and no parentId since the organization is the root Domain and does not have a parent Domain.


<segments>
  <segment id="1" setId="1">
    <attribute name="id"><![CDATA[1]]></attribute>
    <attribute name="name"><![CDATA[BorgWarner Inc.]]></attribute>
    <attribute name="address"><![CDATA[1000 N Washington Dr]]></attribute>
    <attribute name="city"><![CDATA[Lincoln]]></attribute>
    <attribute name="state"><![CDATA[NE]]></attribute>
    <attribute name="zipCode"><![CDATA[68501]]></attribute>
    <attribute name="webAddress"><![CDATA[www.borgwarner.com]]></attribute>
  </segment>
  <segment id="2" setId="2">
    <attribute name="id"><![CDATA[2]]></attribute>
    <attribute name="name"><![CDATA[NII Holdings, Inc.]]></attribute>
    <attribute name="address"><![CDATA[1001 S Adams Sq]]></attribute>
    <attribute name="city"><![CDATA[Montpelier]]></attribute>
    <attribute name="state"><![CDATA[VT]]></attribute>
    <attribute name="zipCode"><![CDATA[05601]]></attribute>
    <attribute name="webAddress"><![CDATA[www.nii.com]]></attribute>
  </segment>
  <segment id="3" setId="3">
    <attribute name="id"><![CDATA[3]]></attribute>
    <attribute name="name"><![CDATA[Fluor Corporation]]></attribute>
    <attribute name="address"><![CDATA[1002 E Jefferson Ct]]></attribute>
    <attribute name="city"><![CDATA[Trenton]]></attribute>
    <attribute name="state"><![CDATA[NJ]]></attribute>
    <attribute name="zipCode"><![CDATA[08601]]></attribute>
    <attribute name="webAddress"><![CDATA[www.fluor.com]]></attribute>
  </segment>
</segments>


DepartmentSegment.xml

This file will contain three segments, each having three data elements containing the department attributes, a loopCount equal to three, and a parentId given each set of departments referential integrity to an organization defined within OrganizationSegment.xml.


<segments>
  <segment id="1" setId="1">
    <attribute name="id"><![CDATA[1]]></attribute>
    <attribute name="name"><![CDATA[Department1]]></attribute>
    <attribute name="manager"><![CDATA[Ms. Aja E. Grubb]]></attribute>
    <attribute name="emailAddress"><![CDATA[aja.grubb@example.com]]></attribute>
    <attribute name="organization"><![CDATA[1]]></attribute>
  </segment>
  <segment id="2" setId="1">
    <attribute name="id"><![CDATA[2]]></attribute>
    <attribute name="name"><![CDATA[Department2]]></attribute>
    <attribute name="manager"><![CDATA[Mrs. Adria L. Large]]></attribute>
    <attribute name="emailAddress"><![CDATA[adria.large@example.com]]></attribute>
    <attribute name="organization"><![CDATA[1]]></attribute>
  </segment>
  <segment id="3" setId="1">
    <attribute name="id"><![CDATA[3]]></attribute>
    <attribute name="name"><![CDATA[Department3]]></attribute>
    <attribute name="manager"><![CDATA[Mr. Colton O. Travis IV]]></attribute>
    <attribute name="emailAddress"><![CDATA[colton.travis@example.com]]></attribute>
    <attribute name="organization"><![CDATA[1]]></attribute>
  </segment>
  <segment id="4" setId="2">
    <attribute name="id"><![CDATA[4]]></attribute>
    <attribute name="name"><![CDATA[Department4]]></attribute>
    <attribute name="manager"><![CDATA[Mr. Kasey Y. Bolinger III]]></attribute>
    <attribute name="emailAddress"><![CDATA[kasey.bolinger@example.com]]></attribute>
    <attribute name="organization"><![CDATA[2]]></attribute>
  </segment>
  <segment id="5" setId="2">
    <attribute name="id"><![CDATA[5]]></attribute>
    <attribute name="name"><![CDATA[Department5]]></attribute>
    <attribute name="manager"><![CDATA[Rev. Delphine A. Couch]]></attribute>
    <attribute name="emailAddress"><![CDATA[delphine.couch@example.com]]></attribute>
    <attribute name="organization"><![CDATA[2]]></attribute>
  </segment>
  <segment id="6" setId="2">
    <attribute name="id"><![CDATA[6]]></attribute>
    <attribute name="name"><![CDATA[Department6]]></attribute>
    <attribute name="manager"><![CDATA[Mrs. Latoya J. Wideman]]></attribute>
    <attribute name="emailAddress"><![CDATA[latoya.wideman@example.com]]></attribute>
    <attribute name="organization"><![CDATA[2]]></attribute>
  </segment>
  <segment id="7" setId="3">
    <attribute name="id"><![CDATA[7]]></attribute>
    <attribute name="name"><![CDATA[Department7]]></attribute>
    <attribute name="manager"><![CDATA[Mr. Norris T. Laborde Sr]]></attribute>
    <attribute name="emailAddress"><![CDATA[norris.laborde@example.com]]></attribute>
    <attribute name="organization"><![CDATA[3]]></attribute>
  </segment>
  <segment id="8" setId="3">
    <attribute name="id"><![CDATA[8]]></attribute>
    <attribute name="name"><![CDATA[Department8]]></attribute>
    <attribute name="manager"><![CDATA[Miss. Katharina S. Braddy]]></attribute>
    <attribute name="emailAddress"><![CDATA[katharina.braddy@example.com]]></attribute>
    <attribute name="organization"><![CDATA[3]]></attribute>
  </segment>
  <segment id="9" setId="3">
    <attribute name="id"><![CDATA[9]]></attribute>
    <attribute name="name"><![CDATA[Department9]]></attribute>
    <attribute name="manager"><![CDATA[Mr. Chet F. Paquette IV]]></attribute>
    <attribute name="emailAddress"><![CDATA[chet.paquette@example.com]]></attribute>
    <attribute name="organization"><![CDATA[3]]></attribute>
  </segment>
</segments>


UserSegment.xml

This file will contain nine segments, each having three data elements containing the user attributes, a loopCount equal to three, and a parentId given each set of users referential integrity to a given department defined within DepartmentSegment.xml.


<segments>
  <segment id="1" setId="1">
    <attribute name="id"><![CDATA[1]]></attribute>
    <attribute name="firstName"><![CDATA[Shane]]></attribute>
    <attribute name="lastName"><![CDATA[Giglio]]></attribute>
    <attribute name="middleInitial"><![CDATA[K]]></attribute>
    <attribute name="password"><![CDATA[C4CA4238A0B923820DCC509A6F75849B]]></attribute>
    <attribute name="emailAddress"><![CDATA[user1@example.com]]></attribute>
    <attribute name="department"><![CDATA[1]]></attribute>
  </segment>
  <segment id="2" setId="1">
    <attribute name="id"><![CDATA[2]]></attribute>
    <attribute name="firstName"><![CDATA[Lesia]]></attribute>
    <attribute name="lastName"><![CDATA[Joe]]></attribute>
    <attribute name="middleInitial"><![CDATA[J]]></attribute>
    <attribute name="password"><![CDATA[C81E728D9D4C2F636F067F89CC14862C]]></attribute>
    <attribute name="emailAddress"><![CDATA[user2@example.com]]></attribute>
    <attribute name="department"><![CDATA[1]]></attribute>
  </segment>
  <segment id="3" setId="1">
    <attribute name="id"><![CDATA[3]]></attribute>
    <attribute name="firstName"><![CDATA[Libby]]></attribute>
    <attribute name="lastName"><![CDATA[Min]]></attribute>
    <attribute name="middleInitial"><![CDATA[B]]></attribute>
    <attribute name="password"><![CDATA[ECCBC87E4B5CE2FE28308FD9F2A7BAF3]]></attribute>
    <attribute name="emailAddress"><![CDATA[user3@example.com]]></attribute>
    <attribute name="department"><![CDATA[1]]></attribute>
  </segment>
  <segment id="4" setId="2">
    <attribute name="id"><![CDATA[4]]></attribute>
    <attribute name="firstName"><![CDATA[Odilia]]></attribute>
    <attribute name="lastName"><![CDATA[Spivey]]></attribute>
    <attribute name="middleInitial"><![CDATA[D]]></attribute>
    <attribute name="password"><![CDATA[A87FF679A2F3E71D9181A67B7542122C]]></attribute>
    <attribute name="emailAddress"><![CDATA[user4@example.com]]></attribute>
    <attribute name="department"><![CDATA[2]]></attribute>
  </segment>
  <segment id="5" setId="2">
    <attribute name="id"><![CDATA[5]]></attribute>
    <attribute name="firstName"><![CDATA[Sabina]]></attribute>
    <attribute name="lastName"><![CDATA[Kilgore]]></attribute>
    <attribute name="middleInitial"><![CDATA[B]]></attribute>
    <attribute name="password"><![CDATA[E4DA3B7FBBCE2345D7772B0674A318D5]]></attribute>
    <attribute name="emailAddress"><![CDATA[user5@example.com]]></attribute>
    <attribute name="department"><![CDATA[2]]></attribute>
  </segment>
  <segment id="6" setId="2">
    <attribute name="id"><![CDATA[6]]></attribute>
    <attribute name="firstName"><![CDATA[Noreen]]></attribute>
    <attribute name="lastName"><![CDATA[Shanahan]]></attribute>
    <attribute name="middleInitial"><![CDATA[J]]></attribute>
    <attribute name="password"><![CDATA[1679091C5A880FAF6FB5E6087EB1B2DC]]></attribute>
    <attribute name="emailAddress"><![CDATA[user6@example.com]]></attribute>
    <attribute name="department"><![CDATA[2]]></attribute>
  </segment>
  <segment id="7" setId="3">
    <attribute name="id"><![CDATA[7]]></attribute>
    <attribute name="firstName"><![CDATA[Eliana]]></attribute>
    <attribute name="lastName"><![CDATA[Badillo]]></attribute>
    <attribute name="middleInitial"><![CDATA[H]]></attribute>
    <attribute name="password"><![CDATA[8F14E45FCEEA167A5A36DEDD4BEA2543]]></attribute>
    <attribute name="emailAddress"><![CDATA[user7@example.com]]></attribute>
    <attribute name="department"><![CDATA[3]]></attribute>
  </segment>
  <segment id="8" setId="3">
    <attribute name="id"><![CDATA[8]]></attribute>
    <attribute name="firstName"><![CDATA[Waltraud]]></attribute>
    <attribute name="lastName"><![CDATA[Bagby]]></attribute>
    <attribute name="middleInitial"><![CDATA[I]]></attribute>
    <attribute name="password"><![CDATA[C9F0F895FB98AB9159F51FD0297E236D]]></attribute>
    <attribute name="emailAddress"><![CDATA[user8@example.com]]></attribute>
    <attribute name="department"><![CDATA[3]]></attribute>
  </segment>
  <segment id="9" setId="3">
    <attribute name="id"><![CDATA[9]]></attribute>
    <attribute name="firstName"><![CDATA[Ophelia]]></attribute>
    <attribute name="lastName"><![CDATA[Mcneal]]></attribute>
    <attribute name="middleInitial"><![CDATA[N]]></attribute>
    <attribute name="password"><![CDATA[45C48CCE2E2D7FBDEA1AFC51C7C6AD26]]></attribute>
    <attribute name="emailAddress"><![CDATA[user9@example.com]]></attribute>
    <attribute name="department"><![CDATA[3]]></attribute>
  </segment>
  <segment id="10" setId="4">
    <attribute name="id"><![CDATA[10]]></attribute>
    <attribute name="firstName"><![CDATA[Lakeisha]]></attribute>
    <attribute name="lastName"><![CDATA[Amaral]]></attribute>
    <attribute name="middleInitial"><![CDATA[I]]></attribute>
    <attribute name="password"><![CDATA[D3D9446802A44259755D38E6D163E820]]></attribute>
    <attribute name="emailAddress"><![CDATA[user10@example.com]]></attribute>
    <attribute name="department"><![CDATA[4]]></attribute>
  </segment>
  <segment id="11" setId="4">
    <attribute name="id"><![CDATA[11]]></attribute>
    <attribute name="firstName"><![CDATA[Maribeth]]></attribute>
    <attribute name="lastName"><![CDATA[Spurlock]]></attribute>
    <attribute name="middleInitial"><![CDATA[O]]></attribute>
    <attribute name="password"><![CDATA[6512BD43D9CAA6E02C990B0A82652DCA]]></attribute>
    <attribute name="emailAddress"><![CDATA[user11@example.com]]></attribute>
    <attribute name="department"><![CDATA[4]]></attribute>
  </segment>
  <segment id="12" setId="4">
    <attribute name="id"><![CDATA[12]]></attribute>
    <attribute name="firstName"><![CDATA[Randee]]></attribute>
    <attribute name="lastName"><![CDATA[Coburn]]></attribute>
    <attribute name="middleInitial"><![CDATA[S]]></attribute>
    <attribute name="password"><![CDATA[C20AD4D76FE97759AA27A0C99BFF6710]]></attribute>
    <attribute name="emailAddress"><![CDATA[user12@example.com]]></attribute>
    <attribute name="department"><![CDATA[4]]></attribute>
  </segment>
  <segment id="13" setId="5">
    <attribute name="id"><![CDATA[13]]></attribute>
    <attribute name="firstName"><![CDATA[Phylis]]></attribute>
    <attribute name="lastName"><![CDATA[Shoaf]]></attribute>
    <attribute name="middleInitial"><![CDATA[W]]></attribute>
    <attribute name="password"><![CDATA[C51CE410C124A10E0DB5E4B97FC2AF39]]></attribute>
    <attribute name="emailAddress"><![CDATA[user13@example.com]]></attribute>
    <attribute name="department"><![CDATA[5]]></attribute>
  </segment>
  <segment id="14" setId="5">
    <attribute name="id"><![CDATA[14]]></attribute>
    <attribute name="firstName"><![CDATA[Candie]]></attribute>
    <attribute name="lastName"><![CDATA[Englert]]></attribute>
    <attribute name="middleInitial"><![CDATA[E]]></attribute>
    <attribute name="password"><![CDATA[AAB3238922BCC25A6F606EB525FFDC56]]></attribute>
    <attribute name="emailAddress"><![CDATA[user14@example.com]]></attribute>
    <attribute name="department"><![CDATA[5]]></attribute>
  </segment>
  <segment id="15" setId="5">
    <attribute name="id"><![CDATA[15]]></attribute>
    <attribute name="firstName"><![CDATA[Tawana]]></attribute>
    <attribute name="lastName"><![CDATA[Deboer]]></attribute>
    <attribute name="middleInitial"><![CDATA[D]]></attribute>
    <attribute name="password"><![CDATA[9BF31C7FF062936A96D3C8BD1F8F2FF3]]></attribute>
    <attribute name="emailAddress"><![CDATA[user15@example.com]]></attribute>
    <attribute name="department"><![CDATA[5]]></attribute>
  </segment>
  <segment id="16" setId="6">
    <attribute name="id"><![CDATA[16]]></attribute>
    <attribute name="firstName"><![CDATA[My]]></attribute>
    <attribute name="lastName"><![CDATA[Remy]]></attribute>
    <attribute name="middleInitial"><![CDATA[R]]></attribute>
    <attribute name="password"><![CDATA[C74D97B01EAE257E44AA9D5BADE97BAF]]></attribute>
    <attribute name="emailAddress"><![CDATA[user16@example.com]]></attribute>
    <attribute name="department"><![CDATA[6]]></attribute>
  </segment>
  <segment id="17" setId="6">
    <attribute name="id"><![CDATA[17]]></attribute>
    <attribute name="firstName"><![CDATA[Pamelia]]></attribute>
    <attribute name="lastName"><![CDATA[Chavira]]></attribute>
    <attribute name="middleInitial"><![CDATA[W]]></attribute>
    <attribute name="password"><![CDATA[70EFDF2EC9B086079795C442636B55FB]]></attribute>
    <attribute name="emailAddress"><![CDATA[user17@example.com]]></attribute>
    <attribute name="department"><![CDATA[6]]></attribute>
  </segment>
  <segment id="18" setId="6">
    <attribute name="id"><![CDATA[18]]></attribute>
    <attribute name="firstName"><![CDATA[Joetta]]></attribute>
    <attribute name="lastName"><![CDATA[Roscoe]]></attribute>
    <attribute name="middleInitial"><![CDATA[V]]></attribute>
    <attribute name="password"><![CDATA[6F4922F45568161A8CDF4AD2299F6D23]]></attribute>
    <attribute name="emailAddress"><![CDATA[user18@example.com]]></attribute>
    <attribute name="department"><![CDATA[6]]></attribute>
  </segment>
  <segment id="19" setId="7">
    <attribute name="id"><![CDATA[19]]></attribute>
    <attribute name="firstName"><![CDATA[Jacki]]></attribute>
    <attribute name="lastName"><![CDATA[Lentz]]></attribute>
    <attribute name="middleInitial"><![CDATA[K]]></attribute>
    <attribute name="password"><![CDATA[1F0E3DAD99908345F7439F8FFABDFFC4]]></attribute>
    <attribute name="emailAddress"><![CDATA[user19@example.com]]></attribute>
    <attribute name="department"><![CDATA[7]]></attribute>
  </segment>
  <segment id="20" setId="7">
    <attribute name="id"><![CDATA[20]]></attribute>
    <attribute name="firstName"><![CDATA[Windy]]></attribute>
    <attribute name="lastName"><![CDATA[Haskell]]></attribute>
    <attribute name="middleInitial"><![CDATA[B]]></attribute>
    <attribute name="password"><![CDATA[98F13708210194C475687BE6106A3B84]]></attribute>
    <attribute name="emailAddress"><![CDATA[user20@example.com]]></attribute>
    <attribute name="department"><![CDATA[7]]></attribute>
  </segment>
  <segment id="21" setId="7">
    <attribute name="id"><![CDATA[21]]></attribute>
    <attribute name="firstName"><![CDATA[Clementine]]></attribute>
    <attribute name="lastName"><![CDATA[Zamora]]></attribute>
    <attribute name="middleInitial"><![CDATA[O]]></attribute>
    <attribute name="password"><![CDATA[3C59DC048E8850243BE8079A5C74D079]]></attribute>
    <attribute name="emailAddress"><![CDATA[user21@example.com]]></attribute>
    <attribute name="department"><![CDATA[7]]></attribute>
  </segment>
  <segment id="22" setId="8">
    <attribute name="id"><![CDATA[22]]></attribute>
    <attribute name="firstName"><![CDATA[Vicenta]]></attribute>
    <attribute name="lastName"><![CDATA[Skelly]]></attribute>
    <attribute name="middleInitial"><![CDATA[W]]></attribute>
    <attribute name="password"><![CDATA[B6D767D2F8ED5D21A44B0E5886680CB9]]></attribute>
    <attribute name="emailAddress"><![CDATA[user22@example.com]]></attribute>
    <attribute name="department"><![CDATA[8]]></attribute>
  </segment>
  <segment id="23" setId="8">
    <attribute name="id"><![CDATA[23]]></attribute>
    <attribute name="firstName"><![CDATA[Gracie]]></attribute>
    <attribute name="lastName"><![CDATA[Breedlove]]></attribute>
    <attribute name="middleInitial"><![CDATA[I]]></attribute>
    <attribute name="password"><![CDATA[37693CFC748049E45D87B8C7D8B9AACD]]></attribute>
    <attribute name="emailAddress"><![CDATA[user23@example.com]]></attribute>
    <attribute name="department"><![CDATA[8]]></attribute>
  </segment>
  <segment id="24" setId="8">
    <attribute name="id"><![CDATA[24]]></attribute>
    <attribute name="firstName"><![CDATA[Eliana]]></attribute>
    <attribute name="lastName"><![CDATA[Atherton]]></attribute>
    <attribute name="middleInitial"><![CDATA[H]]></attribute>
    <attribute name="password"><![CDATA[1FF1DE774005F8DA13F42943881C655F]]></attribute>
    <attribute name="emailAddress"><![CDATA[user24@example.com]]></attribute>
    <attribute name="department"><![CDATA[8]]></attribute>
  </segment>
  <segment id="25" setId="9">
    <attribute name="id"><![CDATA[25]]></attribute>
    <attribute name="firstName"><![CDATA[Breanne]]></attribute>
    <attribute name="lastName"><![CDATA[Wesson]]></attribute>
    <attribute name="middleInitial"><![CDATA[N]]></attribute>
    <attribute name="password"><![CDATA[8E296A067A37563370DED05F5A3BF3EC]]></attribute>
    <attribute name="emailAddress"><![CDATA[user25@example.com]]></attribute>
    <attribute name="department"><![CDATA[9]]></attribute>
  </segment>
  <segment id="26" setId="9">
    <attribute name="id"><![CDATA[26]]></attribute>
    <attribute name="firstName"><![CDATA[Marisa]]></attribute>
    <attribute name="lastName"><![CDATA[Gales]]></attribute>
    <attribute name="middleInitial"><![CDATA[K]]></attribute>
    <attribute name="password"><![CDATA[4E732CED3463D06DE0CA9A15B6153677]]></attribute>
    <attribute name="emailAddress"><![CDATA[user26@example.com]]></attribute>
    <attribute name="department"><![CDATA[9]]></attribute>
  </segment>
  <segment id="27" setId="9">
    <attribute name="id"><![CDATA[27]]></attribute>
    <attribute name="firstName"><![CDATA[Sherry]]></attribute>
    <attribute name="lastName"><![CDATA[Gainey]]></attribute>
    <attribute name="middleInitial"><![CDATA[S]]></attribute>
    <attribute name="password"><![CDATA[02E74F10E0327AD868D138F2B4FDD6F0]]></attribute>
    <attribute name="emailAddress"><![CDATA[user27@example.com]]></attribute>
    <attribute name="department"><![CDATA[9]]></attribute>
  </segment>
</segments>


AddressSegment.xml

This file will contain twenty-seven segments, each having one data element containing address attributes, a loopCount equal to 1, and a parentId given each address referential integrity to a given user-defined within UserSegment.xml.


<segments>
  <segment id="1" setId="1">
    <attribute name="address"><![CDATA[1000 N Washington Dr]]></attribute>
    <attribute name="city"><![CDATA[Tallahassee]]></attribute>
    <attribute name="state"><![CDATA[Florida]]></attribute>
    <attribute name="zipCode"><![CDATA[32301]]></attribute>
    <attribute name="user"><![CDATA[1]]></attribute>
  </segment>
  <segment id="2" setId="2">
    <attribute name="address"><![CDATA[1001 S Adams Sq]]></attribute>
    <attribute name="city"><![CDATA[Santa Fe]]></attribute>
    <attribute name="state"><![CDATA[New Mexico]]></attribute>
    <attribute name="zipCode"><![CDATA[87501]]></attribute>
    <attribute name="user"><![CDATA[2]]></attribute>
  </segment>
  <segment id="3" setId="3">
    <attribute name="address"><![CDATA[1002 E Jefferson Ct]]></attribute>
    <attribute name="city"><![CDATA[Trenton]]></attribute>
    <attribute name="state"><![CDATA[New Jersey]]></attribute>
    <attribute name="zipCode"><![CDATA[08601]]></attribute>
    <attribute name="user"><![CDATA[3]]></attribute>
  </segment>
  <segment id="4" setId="4">
    <attribute name="address"><![CDATA[1003 W Madison St]]></attribute>
    <attribute name="city"><![CDATA[Bismarck]]></attribute>
    <attribute name="state"><![CDATA[North Dakota]]></attribute>
    <attribute name="zipCode"><![CDATA[58501]]></attribute>
    <attribute name="user"><![CDATA[4]]></attribute>
  </segment>
  <segment id="5" setId="5">
    <attribute name="address"><![CDATA[1004 NS Monroe Rd]]></attribute>
    <attribute name="city"><![CDATA[Richmond]]></attribute>
    <attribute name="state"><![CDATA[Virginia]]></attribute>
    <attribute name="zipCode"><![CDATA[23173]]></attribute>
    <attribute name="user"><![CDATA[5]]></attribute>
  </segment>
  <segment id="6" setId="6">
    <attribute name="address"><![CDATA[1005 NE Adams Ave]]></attribute>
    <attribute name="city"><![CDATA[Denver]]></attribute>
    <attribute name="state"><![CDATA[Colorado]]></attribute>
    <attribute name="zipCode"><![CDATA[80012]]></attribute>
    <attribute name="user"><![CDATA[6]]></attribute>
  </segment>
  <segment id="7" setId="7">
    <attribute name="address"><![CDATA[1006 NW Jackson Blvd]]></attribute>
    <attribute name="city"><![CDATA[Springfield]]></attribute>
    <attribute name="state"><![CDATA[Illinois]]></attribute>
    <attribute name="zipCode"><![CDATA[62701]]></attribute>
    <attribute name="user"><![CDATA[7]]></attribute>
  </segment>
  <segment id="8" setId="8">
    <attribute name="address"><![CDATA[1007 SE Van Buren Wy]]></attribute>
    <attribute name="city"><![CDATA[Jackson]]></attribute>
    <attribute name="state"><![CDATA[Mississippi]]></attribute>
    <attribute name="zipCode"><![CDATA[39201]]></attribute>
    <attribute name="user"><![CDATA[8]]></attribute>
  </segment>
  <segment id="9" setId="9">
    <attribute name="address"><![CDATA[1008 SW Harrison Ln]]></attribute>
    <attribute name="city"><![CDATA[Carson City]]></attribute>
    <attribute name="state"><![CDATA[Nevada]]></attribute>
    <attribute name="zipCode"><![CDATA[89701]]></attribute>
    <attribute name="user"><![CDATA[9]]></attribute>
  </segment>
  <segment id="10" setId="10">
    <attribute name="address"><![CDATA[1009 EW Tyler Cir]]></attribute>
    <attribute name="city"><![CDATA[Salt Lake City]]></attribute>
    <attribute name="state"><![CDATA[Utah]]></attribute>
    <attribute name="zipCode"><![CDATA[84101]]></attribute>
    <attribute name="user"><![CDATA[10]]></attribute>
  </segment>
  <segment id="11" setId="11">
    <attribute name="address"><![CDATA[1010 N Polk Pk]]></attribute>
    <attribute name="city"><![CDATA[Dover]]></attribute>
    <attribute name="state"><![CDATA[Delaware]]></attribute>
    <attribute name="zipCode"><![CDATA[19901]]></attribute>
    <attribute name="user"><![CDATA[11]]></attribute>
  </segment>
  <segment id="12" setId="12">
    <attribute name="address"><![CDATA[1011 S Taylor Pkwy]]></attribute>
    <attribute name="city"><![CDATA[Montpelier]]></attribute>
    <attribute name="state"><![CDATA[Vermont]]></attribute>
    <attribute name="zipCode"><![CDATA[05601]]></attribute>
    <attribute name="user"><![CDATA[12]]></attribute>
  </segment>
  <segment id="13" setId="13">
    <attribute name="address"><![CDATA[1012 E Fillmore Dr]]></attribute>
    <attribute name="city"><![CDATA[Atlanta]]></attribute>
    <attribute name="state"><![CDATA[Georgia]]></attribute>
    <attribute name="zipCode"><![CDATA[30301]]></attribute>
    <attribute name="user"><![CDATA[13]]></attribute>
  </segment>
  <segment id="14" setId="14">
    <attribute name="address"><![CDATA[1013 W Pierce Sq]]></attribute>
    <attribute name="city"><![CDATA[Hartford]]></attribute>
    <attribute name="state"><![CDATA[Connecticut]]></attribute>
    <attribute name="zipCode"><![CDATA[06101]]></attribute>
    <attribute name="user"><![CDATA[14]]></attribute>
  </segment>
  <segment id="15" setId="15">
    <attribute name="address"><![CDATA[1014 NS Buchanan Ct]]></attribute>
    <attribute name="city"><![CDATA[Juneau]]></attribute>
    <attribute name="state"><![CDATA[Alaska]]></attribute>
    <attribute name="zipCode"><![CDATA[99801]]></attribute>
    <attribute name="user"><![CDATA[15]]></attribute>
  </segment>
  <segment id="16" setId="16">
    <attribute name="address"><![CDATA[1015 NE Lincoln St]]></attribute>
    <attribute name="city"><![CDATA[Hartford]]></attribute>
    <attribute name="state"><![CDATA[Connecticut]]></attribute>
    <attribute name="zipCode"><![CDATA[06101]]></attribute>
    <attribute name="user"><![CDATA[16]]></attribute>
  </segment>
  <segment id="17" setId="17">
    <attribute name="address"><![CDATA[1016 NW Johnson Rd]]></attribute>
    <attribute name="city"><![CDATA[Cheyenne]]></attribute>
    <attribute name="state"><![CDATA[Wyoming]]></attribute>
    <attribute name="zipCode"><![CDATA[82001]]></attribute>
    <attribute name="user"><![CDATA[17]]></attribute>
  </segment>
  <segment id="18" setId="18">
    <attribute name="address"><![CDATA[1017 SE Grant Ave]]></attribute>
    <attribute name="city"><![CDATA[Cheyenne]]></attribute>
    <attribute name="state"><![CDATA[Wyoming]]></attribute>
    <attribute name="zipCode"><![CDATA[82001]]></attribute>
    <attribute name="user"><![CDATA[18]]></attribute>
  </segment>
  <segment id="19" setId="19">
    <attribute name="address"><![CDATA[1018 SW Hayes Blvd]]></attribute>
    <attribute name="city"><![CDATA[Richmond]]></attribute>
    <attribute name="state"><![CDATA[Virginia]]></attribute>
    <attribute name="zipCode"><![CDATA[23173]]></attribute>
    <attribute name="user"><![CDATA[19]]></attribute>
  </segment>
  <segment id="20" setId="20">
    <attribute name="address"><![CDATA[1019 EW Garfield Wy]]></attribute>
    <attribute name="city"><![CDATA[Hartford]]></attribute>
    <attribute name="state"><![CDATA[Connecticut]]></attribute>
    <attribute name="zipCode"><![CDATA[06101]]></attribute>
    <attribute name="user"><![CDATA[20]]></attribute>
  </segment>
  <segment id="21" setId="21">
    <attribute name="address"><![CDATA[1020 N Arthur Ln]]></attribute>
    <attribute name="city"><![CDATA[Honolulu]]></attribute>
    <attribute name="state"><![CDATA[Hawaii]]></attribute>
    <attribute name="zipCode"><![CDATA[96801]]></attribute>
    <attribute name="user"><![CDATA[21]]></attribute>
  </segment>
  <segment id="22" setId="22">
    <attribute name="address"><![CDATA[1021 S Cleveland Cir]]></attribute>
    <attribute name="city"><![CDATA[Des Moines]]></attribute>
    <attribute name="state"><![CDATA[Iowa]]></attribute>
    <attribute name="zipCode"><![CDATA[50301]]></attribute>
    <attribute name="user"><![CDATA[22]]></attribute>
  </segment>
  <segment id="23" setId="23">
    <attribute name="address"><![CDATA[1022 E Harrison Pk]]></attribute>
    <attribute name="city"><![CDATA[Jackson]]></attribute>
    <attribute name="state"><![CDATA[Mississippi]]></attribute>
    <attribute name="zipCode"><![CDATA[39201]]></attribute>
    <attribute name="user"><![CDATA[23]]></attribute>
  </segment>
  <segment id="24" setId="24">
    <attribute name="address"><![CDATA[1023 W Cleveland Pkwy]]></attribute>
    <attribute name="city"><![CDATA[Jefferson City]]></attribute>
    <attribute name="state"><![CDATA[Missouri]]></attribute>
    <attribute name="zipCode"><![CDATA[65101]]></attribute>
    <attribute name="user"><![CDATA[24]]></attribute>
  </segment>
  <segment id="25" setId="25">
    <attribute name="address"><![CDATA[1024 NS McKinley Dr]]></attribute>
    <attribute name="city"><![CDATA[Washington]]></attribute>
    <attribute name="state"><![CDATA[District Of Columbia]]></attribute>
    <attribute name="zipCode"><![CDATA[20001]]></attribute>
    <attribute name="user"><![CDATA[25]]></attribute>
  </segment>
  <segment id="26" setId="26">
    <attribute name="address"><![CDATA[1025 NE T. Roosevelt Sq]]></attribute>
    <attribute name="city"><![CDATA[Augusta]]></attribute>
    <attribute name="state"><![CDATA[Maine]]></attribute>
    <attribute name="zipCode"><![CDATA[04330]]></attribute>
    <attribute name="user"><![CDATA[26]]></attribute>
  </segment>
  <segment id="27" setId="27">
    <attribute name="address"><![CDATA[1026 NW Taft Ct]]></attribute>
    <attribute name="city"><![CDATA[Nashville]]></attribute>
    <attribute name="state"><![CDATA[Tennessee]]></attribute>
    <attribute name="zipCode"><![CDATA[37201]]></attribute>
    <attribute name="user"><![CDATA[27]]></attribute>
  </segment>
</segments>