Important note: It is with great sadness that we have decided to end-of-life Codalogic LMX. With XML becoming an increasingly legacy technology and Covid reducing new sales we can no longer viably support the product. As a result we will not be selling new licenses or renewing Annual Maintenance. We will honour existing Annual Maintenance commitments until they expire. We will be notifying existing licensees in due course.

If you have any questions about this, please contact us on .

Thank you.

Codalogic LMX XML C++ Databinder Benefits

Business Benefits

WinLMX GUI Interface for C++ XML data binding
    Speed up development
    Automate the generation of code that would otherwise be generated manually saving you time and money

    Reduce bugs
    Automation and compile-time error checking reduce the potential for introducing manual coding errors improving the quality of your product

    Make a better product
    Reassign developer resources to adding extra customer pleasing features rather than doing low-level, low-ROI coding

    Reduce training requirements
    Developers can access your XML data using regular C++ and don't need to understand specialist XML technologies

    Ship earlier
    Get revenue from your product sooner and get real end-customer input enabling earlier iterations

    Royalty free
    Ship your application to as many customers as you like without additional license fees

Developer Benefits

  • Easy to use
    • 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.
  • Easy coding
    • No programming of tedious state code as required with SAX (and StAX). This saves you doing boring repetitive C++ programming tasks, and leaves you free to do more interesting tasks.
    • 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.
  • 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.
  • 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 10 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.
    • Tested with VS 2019, VS 2017, VS 2015, VS2013, VS 2012, VS 2010, VS 2008, GCC 9.1.0, GCC 7.1.0, GCC 6.3.0, GCC 5.4.0, GCC 4.7.0, GCC 4.4.1, GCC 4.3.3, GCC 4.1.0, GCC 3.4.6, GCC 3.2.3.
    • In addition to Windows and Linux, customers have also used LMX on HP-UX, Apple, ARM, X-Scale and others.
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.

What do you want to do now?

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-2024, Codalogic Ltd. All Rights Reserved.