Interface XML to C++ the easy way...
Save time and money by using Codalogic LMX
™ to
integrate XML data into your C++ applications.
Codalogic LMX™ is a W3C
XML
Schema to C/C++ data binding tool,
providing XML2C and XML2CPP / XML2C++ functionality.
It takes a W3C XML Schema definition and generates a set of C++ classes that represent the schema
(see figure below). It also produces C++ code to automatically do the conversion of XML to
C++ objects (called unmarshaling) and the reverse operation of converting the C++ objects to XML
(called marshaling). This process is often called data binding.
Your code interfaces to the C++ objects generated by LMX, and needs no further knowledge of XML to
perform the data binding.
Overview of XML C++ Data Binding Operation
To evaluate LMX you can download a trial version,
download a basic binding example, or
download a SOAP example.
The benefits of using LMX XML to C++ databinding include:
- Quick project start-up
- Your project can consume fully fledged XML on day 1 facilitating early development iterations.
- Easy to learn
- The output is regular C++ - No need to learn additional libraries and complex DOM / XPath syntax.
- Simple to build your project - A minimal number of source files are used so that you don't need to spend time managing builds
and have less chance of build errors.
- Easy coding
- No programming of tedious state code as required with SAX (and StAX) - LMX does all that in a couple of seconds (or less!) -
Saves you doing boring programming tasks and avoids accidental cut and paste style errors.
- Generated documentation aimed at helping code development is included in the generated C++ .h file - Code development can be sped up by copying
and pasting key constants and method names into your code.
- The View Prototypes mode in the Win32 GUI version allows drag-and-drop of method names and key constants
directly into your code.
- Generates cross-linked HTML documenting your generated code - Further aids code writing.
- Less time chasing bugs
- The names of variables are checked at compile time rather than run time - Simple typos in names are detected
automatically and early - Less chance for latent bugs to be lurking in your deployed code. (Also allows operation with
IntelliSense.)
- Resource management (such as memory) is taken care of - less chance for accidental memory leaks etc.
- Cusomizable
- Add custom code and behaviors to the generated classes using Snippets and Snippet Event Handlers.
- The C++ data types representing the XML data types can be customized using C++ language syntax - No need to learn complex
code generator configuration options, and less chance of introducing accidental differences between builds by using the
wrong configuration - Use your own data types for more seamless integration with the rest of your code.
- Easy to switch between wide character strings and 'narrow' character strings - Choose your preferred way of handling characters -
Particularly helpful if your character data is primarily ASCII (e.g. not primarily intended for human reading).
- Optional validation when your software writes to generated classes - allows you to trade off between testing in debug mode and
performance in release mode by using a simple compiler switch.
- Portable
- Available with source code to allow your product to run on different platforms.
Even build and test on one platform and run on another.
- Binaries supplied for VC++ 6, VS 2003, VS 2005, VS 2008, GCC 3.2.3, GCC 3.4.6 and GCC 4.1.0.
- Customers have also used LMX on HP-UX, Apple, ARM, and X-Scale.
- Cost effective
- Can save you weeks of coding effort.
- Royalty free run time - Distribute as many copies of your application as you like with no
additional license fees.
- Web services
- Easily build SOAP and REST based web services from XSD and WSDL files.
- Strong customer base
- Customers include
ABB Power Technologies,
Alcatel-Lucent,
Avaya,
Boeing,
General Dynamics,
Hewlett Packard,
Lehman Brothers,
Lockheed Martin,
QinetiQ,
Samsung,
Schlumberger,
Seagate,
Thomson (Grass Valley),...
In short, LMX is about saving you time writing code and effort debugging.
As a result, LMX not only saves you money, but also allows you to improve your product by giving you more
time to implement higher value, customer thrilling features.
LMX is available in a Microsoft Windows® GUI version, a DOS command-line version and
a Linux command-line version.
The Windows® interface version makes it easy to generate C++ code. Simply
select your XML schema file(s), the output file root for the C++ / HTML files, and press the compile button!
The Windows® Interface Version of LMX - WinLMX
Fast and bug-free code development is enhanced by dragging code snippets from
WinLMX's View Prototypes dialog:
WinLMX's View Prototypes dialog
Find out more about LMX XML to C++ data binding by reading the documentation and
downloading the evaluation code.
If you have questions about LMX, please send a message to
.
Testimonials
"Thanks for your exceptional service, as always!" - Dave Webb, TENET Technology
"[LMX] is much more faster and easier in use than our previous solution" - Stanisław Wierchoła, Gadu-Gadu
"LMX is a really good product; fits right in with what we need to do." - Jeff Hay, HYTEC Inc - (Using Multiple Architectures)
"LMX is working like a charm" - 3DCONNEXION - (Using Apple/Mac)
"Our experience has been very positive (especially when compared to using the [ed. other product] code generation)." -
ASPECTUSVI
"Your documentation is much clearer than other products I looked at." - British Telecom
"The supporting code compiled on Itanium without problems" - CeBeNetwork GmbH - (Running on HP-UX)
"LMX comes with very complete documentation." - Ronald Bourret's XML Data Binding Resources
"Its a pretty handy tool, and exceptionally small in size!!!" - SPAN Systems - (Using ARM/X-Scale Architecture)
"Thanks for the rapid response, as usual." - University of Teesside School of Health & Social Care
Customers also include
Boeing,
Samsung,
Lehman Brothers,
QinetiQ,
Hewlett Packard,
Lockheed Martin,
Schlumberger,
Alcatel,
Avaya,
ABB Power Technologies,
Seagate,
General Dynamics,
Thomson (Grass Valley),...