xmlLinguist offers the ability to translate a flat, text file into XML,
and visa-versa. Once a file is in XML format, the power of XML is fully
applicable to this previously flat file. Stylesheets can be applied,
translating it to different formats, etc.
The translation of files in xmlLinguist translates the text as it lies in
the flatfile into an XML format. It does not translate the layout
of the file. In other words, if an Order Number appears before the Customer
Name in the file, that's how it will appear in the XML translation.
xmlLinguist makes a direct translation of format, not structure. Using XML
Stylesheets on the translated file is an easy and powerful way to change
the structure of the file.
xmlLinguist has two environments to offer: a Map Editor GUI and a Translation
Engine. The Map Editor is a visual Windows32 application, where-as the
Translation Engine comes in many flavors, mainly designed particularly
for automation purposes in B2B environments.
Map Editor Benefits
Visual Tree View layout
The Mapping tool in xmlLinguist displays the structure in a Tree View,
allowing direct editing of names, also of Field Properties within
the tree view itself. This map also shows exactly how the nodes in the
XML document will look after a Text-to-XML translation.
The Property Window in xmlLinguist shows properties for the Document,
the currently selected Line and Field. All three of these property groups
are editable, and after selecting/editing a Line or Field, the Map Tree
View will synch itself to that line/field.
Within the GUI, users have the ability to execute the currently loaded
Map. A Dialog appears, prompting the user for a Source file, a direction
from which to translate the file, and a Destination location.
Map Node Manipulation
xmlLinguist's Map GUI allows nodes to be moved around in many different
ways. In addition to the typical Drag/Drop methods most Windows users
are used to, Ctrl+Arrow keys will also move Fields and Lines up and down
in their position, left and right for Lines in their hierarchy, etc.
Translation Engine Benefits
xmlLinguist's translation engine can translate flat, text files to XML
and also translate XML files to their flat equivalent, all with the
same map. Just set the appropriate direction parameter and the file
is translated in the correct direction.
Introducing Hierarchy into Flat Files
Flat Files are just that, flat. They have only implied structure that
users have said, "Well, this line is a child of that line" etc.
xmlLinguist has the ability to introduce hierarchy into a flatfile.
When creating the Map, you can make a Line a childline of a different
Line, and when the file is translated, in the resulting XML that line
will appear as a child element of the Line is was inserted into.
Automation Capabilities in EXE and DLL
The Translation Engine has two different ways of becoming automated.
First, the engine is wrapped in an EXE that if passed the appropriate
Command Line parameters, will execute a map. This can therefore be
easily automated through various scheduling tools, such as the Windows
2000 Scheduler. Second, a DLL is supplied that wraps the execution in
a Windows COM Object, with properties for the different parameters
needed to run a map. This can therefore be programatically automated
using any Windows programming language, such as VB, C++, Delphi, Java, etc.
Interactive and Silent Execution Modes
The Translation Engine has the ability to execute maps with no user
interaction ("silent" mode) and any necessary parameters (such as
map, source and destination files, direction, etc) are passed in through
command line parameters, or as parameters of the COM object. It also has
the ability to execute maps with visual interaction ("interactive" mode)
where a dialog is displayed, prompting the user for the necessary
parameters to execute the map. The former is necessary for automating
map translation processes, as found in many B2B/A2A scenarios, but the
latter is used for immediate testing/interaction. The latter is also used
in the xmlLinguist Map GUI, being the dialog that is displayed when the
Run command is envoked.