Oakland Data Transformer - Structure Editor

A structure is the schema definition for a document. Structures are typically created by importing XML Schema, Java classes, Databases, EDI definitions, or example flat (CSV) files. Structures may conveniently be created by hand as well. Structures consist of elements (in a more general sense than XML Elements).

The structure editor supports a simpler and more powerful abstraction than provided by XSD which is capable of expressing all supported document forms (XML, Java, EDI, database, etc) in a uniform and easy to use manner.

The structure editor is used to view and maintain this definition. You can also have any number of test documents associated with a structure to help with the development of maps, or the development of the structure itself.

Any structure element may inherit from another structure, giving a powerful way to compose structures. Often, customizations of standard structures are required. This is easily done through the inheritance mechanism: you simple create a custom structure that inherits from a standard structure and modify the custom structure as required. Later, if the standard structure is changed (by going to a new version for example), any modifications you have made are preserved and reconciled with the new version.

The default view of the structure editor is read only, since most people use structures that they have imported.

Note that an instance document can be shown in the lower panel and the highlighted element value tracks the selected element.

The edit view.

Note that for each element enough information is maintained to completely validate the element in terms of size, number of occurrences, data type, relationship to other elements and more. All of the validation requirements of EDI, and most of those in XSD are fully included.

The structure editor can also fully represent recursive structures and XML-specific content like Any type and mixed content.


Here we show a very simple example of inheritance, which is a customization of a standard structure. Here is the standard structure.

And here is the custom structure.

The customizations are to make the name elements shorter and to add a new element for the zip code.

When an element inherits from another element, you can easily see the differences between the element in the parent structure and that in the child structure.

This shows the way you specify that an element inherits from a structure. Various inheritance models are accommodated, which can be used to handle XSD style inheritance, code values, and direct structure customization.

Structure Element Diagram

A diagram of the structure elements can be produced at any level.

Structure Creation

A wizard is one of the ways structures can be created.