XML-EVENT in COBOL refers to the events that occur during XML document parsing. These events allow programs to respond to different parts of an XML document as it is being processed, enabling selective data extraction and custom processing logic based on the XML structure.
XML event handling syntax and usage patterns for different XML processing scenarios.
12345678910111213141516171819202122232425262728293031323334IDENTIFICATION DIVISION. PROGRAM-ID. XML-EVENT-EXAMPLE. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "
". 01 XML-EVENT-TYPE PIC X(20). 01 XML-EVENT-NAME PIC X(30). 01 XML-EVENT-CONTENT PIC X(100). 01 CUSTOMER-NAME PIC X(30). 01 CUSTOMER-ID PIC 9(5). PROCEDURE DIVISION. XML PARSE XML-DOCUMENT PROCESSING PROCEDURE HANDLE-XML-EVENT END-XML DISPLAY "Customer Name: " CUSTOMER-NAME DISPLAY "Customer ID: " CUSTOMER-ID STOP RUN. HANDLE-XML-EVENT. EVALUATE XML-EVENT-TYPE WHEN "START-OF-ELEMENT" IF XML-EVENT-NAME = "name" MOVE "Y" TO PROCESSING-NAME END-IF WHEN "CHARACTER-CONTENT" IF PROCESSING-NAME = "Y" MOVE XML-EVENT-CONTENT TO CUSTOMER-NAME MOVE "N" TO PROCESSING-NAME END-IF END-EVALUATE EXIT. John Doe 12345
Basic XML event handling to extract customer data from XML document.
123456789101112131415161718192021222324252627282930313233343536373839404142434445IDENTIFICATION DIVISION. PROGRAM-ID. XML-MULTIPLE-EVENTS. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "
". 01 XML-EVENT-TYPE PIC X(20). 01 XML-EVENT-NAME PIC X(30). 01 XML-EVENT-CONTENT PIC X(100). 01 PROCESSING-FLAGS. 05 PROCESSING-NAME PIC X VALUE "N". 05 PROCESSING-SALARY PIC X VALUE "N". 01 EMPLOYEE-DATA. 05 EMPLOYEE-NAME PIC X(30). 05 EMPLOYEE-SALARY PIC 9(6). PROCEDURE DIVISION. XML PARSE XML-DOCUMENT PROCESSING PROCEDURE HANDLE-EMPLOYEE-EVENTS END-XML DISPLAY "Employee: " EMPLOYEE-NAME DISPLAY "Salary: " EMPLOYEE-SALARY STOP RUN. HANDLE-EMPLOYEE-EVENTS. EVALUATE XML-EVENT-TYPE WHEN "START-OF-ELEMENT" EVALUATE XML-EVENT-NAME WHEN "name" MOVE "Y" TO PROCESSING-NAME WHEN "salary" MOVE "Y" TO PROCESSING-SALARY END-EVALUATE WHEN "CHARACTER-CONTENT" IF PROCESSING-NAME = "Y" MOVE XML-EVENT-CONTENT TO EMPLOYEE-NAME MOVE "N" TO PROCESSING-NAME END-IF IF PROCESSING-SALARY = "Y" MOVE XML-EVENT-CONTENT TO EMPLOYEE-SALARY MOVE "N" TO PROCESSING-SALARY END-IF END-EVALUATE EXIT. John 50000
XML event handling for multiple data elements with processing flags.
123456789101112131415161718192021222324252627282930IDENTIFICATION DIVISION. PROGRAM-ID. XML-EVENT-ERROR. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "
". 01 XML-EVENT-TYPE PIC X(20). 01 XML-EVENT-NAME PIC X(30). 01 ERROR-COUNT PIC 9(3) VALUE 0. PROCEDURE DIVISION. XML PARSE XML-DOCUMENT PROCESSING PROCEDURE HANDLE-XML-WITH-ERRORS END-XML DISPLAY "Total errors: " ERROR-COUNT STOP RUN. HANDLE-XML-WITH-ERRORS. EVALUATE XML-EVENT-TYPE WHEN "START-OF-ELEMENT" IF XML-EVENT-NAME = "invalid" ADD 1 TO ERROR-COUNT DISPLAY "Invalid element found: " XML-EVENT-NAME END-IF WHEN "XML-EXCEPTION" ADD 1 TO ERROR-COUNT DISPLAY "XML parsing error occurred" END-EVALUATE EXIT. John Doe data
XML event handling with error detection and processing.
Triggered when an opening tag is encountered.
12WHEN "START-OF-ELEMENT" * Handle opening tag
Triggered when a closing tag is encountered.
12WHEN "END-OF-ELEMENT" * Handle closing tag
Triggered when text content is found.
12WHEN "CHARACTER-CONTENT" * Handle text content
Triggered when parsing errors occur.
12WHEN "XML-EXCEPTION" * Handle parsing errors
Event Type | When Triggered | Use Case |
---|---|---|
START-OF-ELEMENT | Opening tag found | Begin element processing |
END-OF-ELEMENT | Closing tag found | Complete element processing |
CHARACTER-CONTENT | Text content found | Extract text data |
XML-EXCEPTION | Parsing error occurs | Handle errors |
1. What is the primary purpose of XML-EVENT in COBOL?
2. Which statement is used to handle XML events in COBOL?
3. What types of XML events can be handled?
4. How do you specify an event handler for XML parsing?
5. What is the purpose of XML event handling?