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

How to Parse XML Documents in COBOL

XML messages embedded data in a single string of elements and attributes. This can be a challenge for programs written in languages such as COBOL that store information in specific fields. To work with XML documents, sophisticated parsing and string manipulation routines is required.

Consider the following trivial example for an XML message:


The string processing logic to parse the above XML elements and attributes into COBOL fields is already advanced, but it will quickly grow in complexity for larger messages as you account for context, 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 be an expensive undertaking as it can take weeks or even months of development effort. Furthermore, this approach can be error prone as it requires deep understanding and expertise with XML.
    • Even after the processing code is developed, the majority of the cost of the application life cycle is still to come. XML message layouts will change as business requirements evolve, meaning that much of the XML parsing and creation code will have to be redeveloped again and again.
  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 COBOL legacy applications.

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 parse or create 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 parse and generate XML using COBOL 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

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

Modified on 2015/08/23 11:15 by John Russell