💻 COBOL
COBOL XML PARSE
Advanced 🕑 18 min read
👁 0 views
COBOL XML PARSE
XML PARSE processes XML documents using an event-driven model.
Syntax
```cobol XML PARSE xml-document PROCESSING PROCEDURE IS procedure-name [ON EXCEPTION imperative] [NOT ON EXCEPTION imperative] END-XML. ```
Processing Procedure
Called for each XML event with special registers:
- XML-EVENT: Current event type
- XML-TEXT: Content text
- XML-NTEXT: National content
- XML-CODE: Error code
XML Events
- START-OF-DOCUMENT
- END-OF-DOCUMENT
- START-OF-ELEMENT
- END-OF-ELEMENT
- ATTRIBUTE-NAME
- ATTRIBUTE-CHARACTERS
- CONTENT-CHARACTERS
- EXCEPTION
Processing Pattern
```cobol EVALUATE XML-EVENT WHEN 'START-OF-ELEMENT' MOVE XML-TEXT TO WS-ELEMENT-NAME WHEN 'CONTENT-CHARACTERS' MOVE XML-TEXT TO WS-CONTENT END-EVALUATE. ```
Code Example
IDENTIFICATION DIVISION.
PROGRAM-ID. XML-PARSE-DEMO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-XML PIC X(200) VALUE
'<emp><id>E001</id><name>JOHN</name></emp>'.
01 WS-ELEMENT PIC X(20).
01 WS-CONTENT PIC X(50).
PROCEDURE DIVISION.
XML PARSE WS-XML
PROCESSING PROCEDURE XML-HANDLER
END-XML
STOP RUN.
XML-HANDLER.
EVALUATE XML-EVENT
WHEN 'START-OF-ELEMENT'
MOVE XML-TEXT TO WS-ELEMENT
WHEN 'CONTENT-CHARACTERS'
MOVE XML-TEXT TO WS-CONTENT
DISPLAY WS-ELEMENT ': ' WS-CONTENT
END-EVALUATE.