MainframeMaster

COBOL Tutorial

COBOL XML-EVENT - Quick Reference

Progress0 of 0 lessons

Overview

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.

Key Features

  • Event-driven parsing - Process XML as events occur
  • Selective data extraction - Extract specific data based on events
  • Custom processing logic - Implement custom logic for different event types
  • Real-time processing - Process XML content as it is parsed

Syntax and Usage

XML event handling syntax and usage patterns for different XML processing scenarios.

Basic XML Event Handling

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
IDENTIFICATION DIVISION. PROGRAM-ID. XML-EVENT-EXAMPLE. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "John Doe12345". 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.

Basic XML event handling to extract customer data from XML document.

XML Event with Multiple Event Types

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
IDENTIFICATION DIVISION. PROGRAM-ID. XML-MULTIPLE-EVENTS. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "John50000". 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.

XML event handling for multiple data elements with processing flags.

XML Event with Error Handling

cobol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
IDENTIFICATION DIVISION. PROGRAM-ID. XML-EVENT-ERROR. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "John Doedata". 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.

XML event handling with error detection and processing.

Event Types

Start of Element

Triggered when an opening tag is encountered.

cobol
1
2
WHEN "START-OF-ELEMENT" * Handle opening tag

End of Element

Triggered when a closing tag is encountered.

cobol
1
2
WHEN "END-OF-ELEMENT" * Handle closing tag

Character Content

Triggered when text content is found.

cobol
1
2
WHEN "CHARACTER-CONTENT" * Handle text content

XML Exception

Triggered when parsing errors occur.

cobol
1
2
WHEN "XML-EXCEPTION" * Handle parsing errors

Best Practices

  • Use processing flags - Track which elements are being processed
  • Handle all event types - Provide handlers for all relevant event types
  • Validate event data - Check event data before processing
  • Error handling - Always provide error handling for XML events
  • Performance optimization - Only process events that are needed

XML-EVENT Quick Reference

Event TypeWhen TriggeredUse Case
START-OF-ELEMENTOpening tag foundBegin element processing
END-OF-ELEMENTClosing tag foundComplete element processing
CHARACTER-CONTENTText content foundExtract text data
XML-EXCEPTIONParsing error occursHandle errors

Test Your Knowledge

1. What is the primary purpose of XML-EVENT in COBOL?

  • To generate XML documents
  • To handle events that occur during XML parsing and processing
  • To validate XML schemas
  • To format XML output

2. Which statement is used to handle XML events in COBOL?

  • XML PARSE
  • XML EVENT
  • XML HANDLE
  • XML PROCESS

3. What types of XML events can be handled?

  • Only start and end element events
  • Only text content events
  • Start element, end element, text content, and other parsing events
  • Only error events

4. How do you specify an event handler for XML parsing?

  • Using the EVENT clause
  • Using the PROCESSING PROCEDURE clause
  • Using the HANDLER clause
  • Using the CALL clause

5. What is the purpose of XML event handling?

  • To validate XML structure
  • To process XML content as it is parsed and extract specific data
  • To generate XML output
  • To format XML documents

Frequently Asked Questions