The structure mechanism defines the semantics of all types of data, including Java objects, EDI, XML, flat (delimited or positional) and database. Like an XML document, a structure contains a hierarchy of elements with one element as the root. An element of a structure is conceptually the same as an element in an XML document, and when the structure represents an XML document, structure elements correspond exactly with XML elements.
Typically, you create a structure by importing definitions created by other programs, such as a CSV Sample, XML Schema, or Guideline XML (gXML). You can also create and maintain structures manually.
To reuse definitions, structures can refer to other structures. This is called structure inheritance. For example, you could have one structure that defines an address. You could then create another structure that uses that address structure, such as a purchase order structure with both a bill-to and ship-to address. To use the address structure, you would simply drag it to the bill-to and ship-to elements in the purchase order structure. The structure inheritance mechanism is automatically used when creating structures from other specifications like XML Schema.
Structures can also refer to sample document instances, which can be used as test input documents when executing maps or as sample output documents to help define a map.
A structure can have multiple representations, which define the issues of conveying the structure's data in specific forms, such as Java Object, XML, and flat file. For example, a structure may be defined to be a certain flat file definition which can have two representations, one for XML and the other for the flat file.