Thunder Suite   •  JSON Thunder   •  XML Thunder   •  FAQs   •  Tutorials   •  Wiki   •  Levelset History   •  JSON Thunder Technical Details   •  XML Thunder Technical Details

Thunder Wiki for Thunder Suite, JSON Thunder & XML Thunder

Page History: How to Parse XML Documents in COBOL

Compare Page Revisions

Older Revision - Back to Page History - Newer Revision

Page Revision: 2015/08/21 16:45

XML messages appear as embedded data in a single string. This can be a challenge for programs written in languages such as COBOL that store information in specific fields. To work with XML data, sophisticated parsing and string manipulation routines are required while maintaining context for the data contained in message nodes.

Consider the following trivial example for an XML message:


The string processing logic for the above message is already advanced, but it will quickly grow in complexity for larger messages as you account for optional data and repeating structures.

So what are your options?
  1. You can hand write the code to validate, parse, and create XML messages.
    • This can take weeks or even months of effort in development. Further, this approach requires deep understanding and expertise with XML. Development of support for industry standard messages can be error prone and thus costly.
    • Even after the processing code is developed, the majority of the cost of the application life cycle is still to come. The code will have to be maintained and, as organizations expect quick support for their business initiatives, efficient and prompt action is expected from developers. Requirements analysis and programming to support changes are typically very costly and have a high risk profile for not meeting all requirements and deadlines.
  2. You can preprocess the XML with a generic parser.
    • Although faster than option 1, it can still take a significant effort to complete and you still have the risk of a major rewrite if a change occurs.
    • Preprocessing also introduces additional platforms and/or components, both of which increase application complexity.
  3. XML Thunder, the industry-leading solution for modernizing legacy applications for.

XML Thunder is designed specifically to address the challenges of working with XML in legacy applications.   Using a model-driven development approach and XML Thunder’s visual designer, the power is in the coder’s hands to create a mapping of program fields to XML nodes. This mapping – called a Handler Design – is then used to generate all of the COBOL source code needed to read or write XML. The code is generated as a callable program module that can be used in new or existing COBOL applications. There are no runtimes required! And, there is no rewriting, which minimizes the time investment and the risk of error.

XML Thunder’s benefits include:
  • Faster time to market - modernize applications to read and write XML in hours, not days, weeks or even months.
  • Respond to changes quickly – implement new schema versions with minimal effort. Impress your internal or external business user by reacting quickly and efficiently to their ever changing requirements. 
  • Keep focus on the business logic in your programs – not the complexities of XML.  
  • Architecture independent solution - handlers work anywhere in your COBOL applications (web services, clients, servers, batch, etc.). 
  • High performing solution – with native complied code, no generic parsers are employed. 
  • Reduce the risk profile of your project by relying on algorithms that have been executed and used by leading organizations tens of millions times. 
  • Process messages of any size.
  • Integrates easily with existing applications.
  • Supports COBOL-85, Native Mode COBOL

For more information about how you can work smarter to modernize your legacy applications for XML, please contact us at