java.net Member Button: 170px wide SourceForge.net Logo


CB2XML (CopyBook to XML) is a COBOL CopyBook to XML converter written in Java and based on the SableCC parser generator. The XML conversion is stable and considered production ready. One of the project goals is to create utilities that convert between an XML instance file and its COBOL (copybook equivalent) string buffer.


CB2XML version 0.92 is the latest version. (2005-06-12)

General Comments

The parser / grammar and XML generation is felt to be stable and has been re-worked extensively based on the actual COBOL grammar. CB2XML should be able to parse any valid COBOL copybook and generate XML. This is what CB2XML was originally created for and what it does best. If converting your inventory of COBOL copybooks to XML is all that you are looking for, CB2XML should be sufficient for you.

If you have been using versions prior to 0.91, the XML schema that CB2XML generates has undergone severe changes. The main reasons were to optimize the XML, simplify the structure to be more generic and to map to the COBOL world as accurately as possible. Note that the java package structure has been refactored as well.

Unfortunately the code that deals with the conversion of data from Java into a copybook raw buffer representation (and vice versa) has not kept up with the changes made to the grammar and XML generation. This code is now found under the net.sf.cb2xml.convert package.

CB2XML needs some more work before you can use it to pass data from a Java program to a COBOL program and vice versa. Maybe you can help! Feel free to wade through the source and contribute improvements. You can contact me by posting to the forum or going through SourceForge. In my opinion, it should not take much time to get the code production ready and I can help as much as my schedule permits.


You can get some idea of the history of CB2XML by visiting the forum link at the top of this page.

Author's Note

This web page is more of a placeholder and detailed information is present in the downloadable distribution. You can read the readme.txt file in the "doc" folder of the distribution for more details. Also the changelog.txt file in the root folder of the distribution contains useful information. I intend to update this site to be more informative and useful. Your feedback is welcome. (Peter Thomas)