LMX
W3C XML Schema to C++ Data Binding

"Thanks for the rapid response, as usual."

Home 
LMX XSD XML C++ Binding Overview Overview LMX C++ XML Data Binding Benefits Benefits LMX C++ XML Data Binding Quick Intro Quick Intro LMX Documentation XSD XML C++ Data Binding Documentation Download LMX XML C++ Data Binding Download Buy LMX XML C++ Data Binding Buy LMX C++ XML Data Binding Try On-line Try On-line LMX XML XSD C++ Binding Support Support

Codalogic LMX XML C++ Databinder Benefits

Codalogic LMX XML C++ Databinder is a C++ XML data binding code generator. The principles of C++ XML data binding are described on our Quick Intro page.

Some of the benefits of using Codalogic LMX XML C++ data binding include:

  • Less time chasing bugs
    • The names of methods and variables are checked at C++ compile-time rather than run-time meaning simple typos in names are detected automatically and early reducing the chance of bugs lurking in your deployed code.
    • Resource management (such as memory) is handled by the generated code so there is less chance for accidental C++ memory leaks etc.
  • 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!). This saves you doing boring C++ programming tasks and avoids accidental cut and paste style errors.
    • Application specific documentation is included in the generated C++ .h file. This speeds up code development because you can copy key constants and method names into your code.
    • The View Prototypes mode in the Win32 WinLMX GUI version allows drag-and-drop of method names and key constants directly into your code, allowing you to write code at lightening speed!
    • Generates cross-linked HTML documention for the generated code making it easy to find the information you need to write code.
    • Your IDE can understand the generated C++ code allowing you to use IntelliSense and other similar code completion technology to speed up code development.
    • First class support. If you have questions, just . We want you to succeed.
  • Easy to learn
    • The output is regular C++ so there is no need to learn additional libraries and complex XML DOM / XPath syntax.
    • A minimal number of binary or C++ source files are required making LMX simple to build into your project. This saves you time managing builds and has less chance of build errors.
  • Quick project start-up
    • Your C++ project can consume fully fledged XML on day 1 facilitating early development iterations.
  • Cost effective
    • Can save you weeks of coding effort.
    • Royalty free run time means you can distribute as many copies of your application as you like with no additional license fees.

The result is that Codalogic 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.

Codalogic LMX is available in a Microsoft Windows® GUI version, a DOS command-line version, a Linux GUI version and a Linux command-line version. The generated C++ code is cross-platform and can be compiled with any standard compliant C++ compiler.

All versions are available to download for evaluation.

The Windows® and Linux GUI versions - WinLMX & Glinmx - make it really 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!


WinLMX GUI Interface for C++ XML data binding

The Windows® GUI Version of LMX XML data binding for C++ - WinLMX

Codalogic LMX is available in a number of Editions, including Professional, Standard and Express:

  • The Professional Edition is supported by Codalogic and includes the source code for the Supporting Software. The Supporting Software is the additional run-time code used by the generated C++ code. It consists of the XML parser and C++ code for various XML schema types. Having the source code for the Supporting Software allows you to port the generated code to any C++ compliant platform.
  • The Express Edition is completely free of charge, and is a stripped down version of the Standard Edition. Many of the LMX code generator configuration options are disabled and there is no source code for the Supporting Software nor any 64-bit binaries. But there are no limitations on the size or number of schemas you can compile, so it is a risk-free way to deploy XML C++ data binding in your organisation without worrying that you might out-grow it. (The free LMX Express Edition can be obtained by filling in the form on the Purchase page and then pressing the "Process Order..." button - no purchase required!)


Glinmx GUI Interface for XML data binding for C++

The Linux GUI Version of LMX XML data binding for C++ - Glinmx

Additional benefits of LMX XML data binding for C++ include:

  • Customizable
    • You can add custom C++ code and behaviors to the generated C++ classes using Snippets and Snippet Event Handlers. This gives you in-depth flexibility to handle your XML and tailor the generated C++ classes to your needs (See manual for more).
    • The C++ types used to represent the simple XML data types can be configured using C++ language syntax. This allows you to use your own C++ data types for more seamless integration with the rest of your C++ code and there is no need to learn complex code generator configuration options. It also means there is less chance of introducing accidental differences between builds by using the wrong configuration (See manual for more).
    • It's easy to switch between wide C++ character strings and 'narrow' C++ character strings so you can choose your preferred way of handling XML characters at the C++ level (See manual for more).
    • Customize the generated method names to suit your coding convention, including converting names to and from CamelCase and/or underscore_separated (See manual for more).
    • When your software writes data to the generated C++ classes you can optionally enable or disable validation of the written data against the type expected by the XML schema. This allows you to trade off between testing in debug mode and performance in release mode by using a simple compiler switch (See manual for more).
  • Dependable
    • Hard exception-safe design.
    • Continuously developed and improved for more than 5 years.
    • Extensively tested. Release regression tests take 2 days to run. Wide customer base ensures diverse 'real-world' testing.
  • Portable
    • The C++ source code for the Supporting Software is available allowing your product to run on any C++ compliant platform. You can even build and test on one platform and run on another, which is helpful when developing embedded solutions.
    • Binaries are supplied for VC++ 6, VS 2003, VS 2005, VS 2008, GCC 3.2.3, GCC 3.4.6, GCC 4.1.0, GCC 4.3.3, GCC 4.4.1, plus 64-bit versions.
    • In addition to Windows and Linux, customers have also used LMX on HP-UX, Apple, ARM, X-Scale and others.
  • Web services
    • You can easily build C++ based XML SOAP and REST based web services from XML XSD and WSDL files (See manual for more).
Fast and bug-free C++ code development is enhanced by dragging C++ code snippets from WinLMX's View Prototypes dialog into your code. Navigation through the example prototypes is a breeze using the dialog's treeview (which follows the XML schema structure) and clickable links to sub-types:

WinLMX View Prototypes Dialog improve C++ XML code development

WinLMX's View Prototypes dialog

Codalogic LMX can even generate a sample C++ file to show you how to use the generated classes to interface to XML.

To learn more about Codalogic LMX you can:

Providing exceptional support is very important to us. If you have questions about Codalogic LMX XML C++ Databinder, please send a message to .

Copyright © 2003-2010, Codalogic Ltd. All Rights Reserved.