💻 COBOL
COBOL XML GENERATE
Advanced 🕑 15 min read
👁 0 views
COBOL XML GENERATE
XML GENERATE creates XML documents from COBOL data structures.
Syntax
```cobol XML GENERATE xml-document FROM data-structure [COUNT IN byte-count] [WITH ENCODING code-page] [WITH XML-DECLARATION] [WITH ATTRIBUTES] [NAMESPACE IS namespace] [NAME OF item-1 IS tag-1...] [TYPE OF item-1 IS ATTRIBUTE/ELEMENT/CONTENT] [SUPPRESS item-1 WHEN condition] [ON EXCEPTION imperative] [NOT ON EXCEPTION imperative] END-XML. ```
Basic Example
```cobol XML GENERATE WS-XML FROM WS-EMPLOYEE COUNT IN WS-XML-LENGTH END-XML. ```
NAME Clause
Customize tag names: ```cobol NAME OF EMP-ID IS 'employeeId' ```
WITH ATTRIBUTES
Generates attributes instead of child elements for elementary items.
Special Register
XML-CODE contains status after operation (0 = success).
Code Example
IDENTIFICATION DIVISION.
PROGRAM-ID. XML-GEN-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-EMPLOYEE.
05 EMP-ID PIC X(5) VALUE 'E0001'.
05 EMP-NAME PIC X(20) VALUE 'JOHN SMITH'.
05 EMP-SALARY PIC 9(7)V99 VALUE 50000.00.
01 WS-XML PIC X(500).
01 WS-XML-LEN PIC 9(5).
PROCEDURE DIVISION.
XML GENERATE WS-XML FROM WS-EMPLOYEE
COUNT IN WS-XML-LEN
WITH XML-DECLARATION
NAME OF EMP-ID IS 'employeeId'
EMP-NAME IS 'employeeName'
EMP-SALARY IS 'salary'
END-XML
IF XML-CODE = 0
DISPLAY 'XML Length: ' WS-XML-LEN
DISPLAY WS-XML(1:WS-XML-LEN)
END-IF
STOP RUN.