XML Extensions allows ACUCOBOL-GT applications to interoperate freely and easily with other applications that use the Extensible Markup Language (XML) standard. To accomplish this, XML Extensions leverages the similarities between the COBOL data model and the XML data model in order to turn ACUCOBOL-GT into an XML engine. Of primary importance to this goal is the ability to import and export XML documents to and from standard COBOL data structures.
Extensible Stylesheet Language Transformations (XSLT) of the XML data representation can be used to match XML element names to COBOL data-names in situations where the names and/or document structures differ.
By allowing standard COBOL data structures to be imported from and exported to XML documents, XML Extensions enables the direct processing and manipulation of XML-based electronic documents by the ACUCOBOL-GT application programmer. Furthermore, XML Extensions does this without requiring the application programmer to become thoroughly familiar with the numerous XML-related specifications and the time-consuming process required to emit and consume well-formed XML.
Specifically, an XML document may be imported into a COBOL data structure under COBOL program control using a single, simple COBOL statement, and, similarly, the content of a COBOL data structure may be used to generate an XML document with equal simplicity. XML Extensions' approach handles both simple and extremely complex structures with ease. Individual data elements are automatically converted as needed between their COBOL internal data types and the external coding used by XML. Not only can the transition to and from XML take place when this happens, but powerful transforms, which are coded using XSLT, can be applied at the same time. This mechanism gives XML Extensions the capabilities needed to be useful in a wide range of e-commerce and Web applications.
To add this capability to a COBOL application, the programmer need only describe the information to be received or transmitted to the external components as COBOL data definitions. This description is not required to match the XML document and, in many cases, this description will simply be an already-existing data area defined in the COBOL application.