General Designer Information

Projects

The designer uses projects to store all of the structure and mapping definitions. Projects may be stored on the local file system, or they may be provided as part of the project. A "canned" project will contain a specific EDI version for example, which can be referenced by other projects.

Project references to other projects are indirect, so you can change the EDI version you are using for example in one place.

A project contains the following types of objects:

  • Structures - The definition of a collection of data elements (fields), which is the basis for a map. Each structure may have representations that specify database, XML, flat or EDI. Structures can be composed of other structures using structure inheritance. Structure element definitions may include validation rules and descriptive text for data elements.
  • Maps - A mapping of one structure to another using expressions.
  • Namespace Containers - A collection of XML namespaces and their preferred prefixes. A namespace container can be shared by structures using XML.
  • Databases - The definition of a database instance.
  • Functions - Functions are used to define expressions. Many functions are built into the product. User functions can also be defined.
  • Inter-Project References - Objects in one project can reference another.

The inter-project reference object controls which project is actually referenced. For example, referencing a structure in version 2.0.2 of GS1 would reference a project called "GS1-202". Locally this would be a reference to "GS1", and in the inter-project reference it would be bound to "GS1-202". This allows the version of a standard to be changed in one place, quickly and easily.

Editors

When actually doing data mapping, a user needs to have the specifications of the input and output document, example data, and the specification of the transformation between the document. Our product is the only product that facilitates having all of this information in one place, and quickly allows you to navigate and search to find what you need.

Maps, structures, user functions and namespace containers have editors. Any number of editors can be opened at any time and there is lots of navigation support for bouncing back and forth between editors to quickly find out something. In addition, dependency management provides automatic re-validation as things change between editors. For example, if an element is added to an open structure, when switching to an open map editor that uses the structure, the element will appear in the map.

Expressions

Expressions are sets of invocations of functions that perform the work of the transformer. They consist of calls to functions and references to map elements. Each expression returns exactly one scalar or string result.

Expressions are represented in a convenient tree view for easy manipulation and editing.



Expressions may also be shown and manipulated as text.



Expressions are categorized by type and associated with elements of a structure of map. The expression types are:

  • Value - Defines the value of an output map element.
  • Loop - Determines how a looping element will loop.
  • Optional - Defines the conditions for an optional element to appear.
  • IO/Database - Specifies points of I/O or database operations.
  • Validation - Specifies validation conditions on a per-element basis.

Search

An extensive search capability is provided.

Undo/Redo and Back/Forward

The designer has full undo/redo capabilities. There is no limit to the depth of the undo stack.

The designer also has back/forward buttons that work just as in a browser.