Redvers COBOL XML Interface
The Redvers COBOL XML Interface gives COBOL applications fast, efficient access to the world of XML and web services. This off-the-shelf software is written in pure COBOL and simply requires the coding of a COBOL record layout and CALL statement to generate or parse any well-formed XML.
Main features:
- Runs on all COBOL platforms
- Distributed in COBOL source code ("cloaked")
- Generates and parses multiple dimension arrays (nested
OCCURS
) - Easy maintenance
- Fast, efficient, professional and fully scalable
- No training needed for COBOL programmers
- Supports XML attributes, namespaces, SOAP, entities, CDATA, duplicate tag names and mixed content elements
- Free schema to copybook build tool
- Runs in batch or on-line
- Free 30 day trial
The Redvers COBOL XML Interface operates at record level, intelligently building all necessary XML element structures when generating and correctly interpreting XML structures when parsing. This approach replaces complex element level application logic with a single CALL
statement that passes the next logical record to/from the application.
Our interface is currently used by customers all over the world, running on iSeries/AS400, UNIX, HP, Linux, Fujitsu BS2000, Micro Focus and IBM mainframe platforms.
It is frequently used in Service Oriented Architecture (SOA) projects and to integrate XML messages on IBM's MQ Series with core COBOL applications. It's also suitable for generating and parsing SWIFTNet messages and Single Euro Payments Area (SEPA) applications.
Download a PDF white paper on COBOL XML interfaces: |
How it Works
Before a COBOL application generates or parses XML, a COBOL Record Definition (CRD) is coded, consisting of a working storage field definition for each XML element or attribute (the schema to copybook build tool can be used to create this). The CRD is then placed in the standard copybook library and a COPY/INCLUDE
statement is added to the application code.
The CRD source code is also stored in the calling application so it can be passed to the interface routines in the CALL
. This can either be done by coding the source into working storage or by reading the source from the copybook library at run time.
To generate XML, the COBOL application populates the CRD and passes it to the generation subroutine (RCXMLGEN) with the CRD source. RCXMLGEN then converts the COBOL data to XML elements & attributes and returns the XML document to the application.
To parse XML, the application passes the XML and CRD source to the parser subroutine (RCXMLPAR) which returns the COBOL data in the CRD fields.
The generation process is illustrated below:

Parsing is achieved in a similar way to the above, except the application passes the XML document to RCXMLPAR which returns the COBOL data in the CRD.
Technical Information
The Redvers COBOL XML Interface 3.1 programs are sold in COBOL source code form and are installed by copying to the site source code library and running the standard COBOL compiler. Compilation at client sites enables installation on multiple platforms and it ensures complete compatibility with all other COBOL applications on the platform.
Using source code also allows our customers to make changes to certain values that would otherwise remain fixed. These values are known as User Maintained Variables (UMV's) and they can be tuned to reduce storage requirements or to generate XML in specific formats. Full details on all UMV's can be found in the product user guides.
In order to protect both clients and authors from unauthorized code changes, the subroutine source code has been "cloaked" using the Redvers Cloaking Device. This process makes no logical difference to the code but renders it unintelligible to humans.
The COBOL Record Definition (CRD) can be coded to generate or parse any XML tag names, attributes, namespaces, SOAP and mixed content elements. Very large documents are generated/parsed using multiple calls to the interface so that machine storage is kept to a minimum.
Generated XML documents conform to the World Wide Web Consortium (W3C) Extensible Mark-up Language (XML) 1.0 definition.
Parsed XML documents are checked for syntax errors. In the event of an error, a message is returned, identifying the erroneous character position within the input document. No schema or DTD validation is performed.
XML generation rate is 9.9 megabytes per second; parsing rate is 7.4 megabytes per second. All benchmark timings are based on an IBM zSeries mainframe running z/OS 1.10. Maximum on-line document size is 99 megabytes; there is no maximum document size for batch applications.
Sample XML Output
A SOAP example of XML produced by the Redvers COBOL XML Interface:

Download the COBOL source code that created this XML document: |