MainframeMaster

COBOL Tutorial

COBOL XML-INFORMATION - Quick Reference

Progress0 of 0 lessons

Overview

XML-INFORMATION in COBOL refers to the context and metadata information that is available during XML document processing. This information provides additional details about the XML structure, namespaces, attributes, and processing context that can be used for validation, debugging, and enhanced XML processing logic.

Key Features

  • Document context - Information about XML document structure
  • Namespace details - Namespace information and prefixes
  • Attribute information - Details about XML attributes
  • Processing metadata - Context about current processing state

Syntax and Usage

XML-INFORMATION usage patterns for accessing context and metadata during XML processing.

Basic XML-INFORMATION Access

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
IDENTIFICATION DIVISION. PROGRAM-ID. XML-INFORMATION-EXAMPLE. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "John Doe". 01 XML-EVENT-TYPE PIC X(20). 01 XML-EVENT-NAME PIC X(30). 01 XML-EVENT-CONTENT PIC X(100). 01 XML-ATTRIBUTE-COUNT PIC 9(3). 01 XML-ATTRIBUTE-NAME PIC X(30). 01 XML-ATTRIBUTE-VALUE PIC X(100). 01 CUSTOMER-ID PIC 9(3). PROCEDURE DIVISION. XML PARSE XML-DOCUMENT PROCESSING PROCEDURE HANDLE-XML-INFO END-XML DISPLAY "Customer ID: " CUSTOMER-ID STOP RUN. HANDLE-XML-INFO. EVALUATE XML-EVENT-TYPE WHEN "START-OF-ELEMENT" IF XML-EVENT-NAME = "customer" * Access attribute information IF XML-ATTRIBUTE-COUNT > 0 MOVE XML-ATTRIBUTE-VALUE TO CUSTOMER-ID END-IF END-IF END-EVALUATE EXIT.

Basic XML-INFORMATION access to extract attribute data from XML elements.

XML-INFORMATION with Namespaces

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
IDENTIFICATION DIVISION. PROGRAM-ID. XML-NAMESPACE-INFO. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE " John Doe ". 01 XML-EVENT-TYPE PIC X(20). 01 XML-EVENT-NAME PIC X(30). 01 XML-NAMESPACE-URI PIC X(100). 01 XML-NAMESPACE-PREFIX PIC X(10). 01 PROCESSING-INFO. 05 CURRENT-NAMESPACE PIC X(100). 05 ELEMENT-COUNT PIC 9(3) VALUE 0. PROCEDURE DIVISION. XML PARSE XML-DOCUMENT PROCESSING PROCEDURE HANDLE-NAMESPACE-INFO END-XML DISPLAY "Total elements processed: " ELEMENT-COUNT DISPLAY "Namespace URI: " CURRENT-NAMESPACE STOP RUN. HANDLE-NAMESPACE-INFO. EVALUATE XML-EVENT-TYPE WHEN "START-OF-ELEMENT" ADD 1 TO ELEMENT-COUNT IF XML-NAMESPACE-URI NOT = SPACES MOVE XML-NAMESPACE-URI TO CURRENT-NAMESPACE DISPLAY "Element: " XML-EVENT-NAME DISPLAY "Namespace: " XML-NAMESPACE-URI DISPLAY "Prefix: " XML-NAMESPACE-PREFIX END-IF END-EVALUATE EXIT.

XML-INFORMATION access for namespace-aware XML processing.

XML-INFORMATION for Debugging

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
IDENTIFICATION DIVISION. PROGRAM-ID. XML-DEBUG-INFO. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE "datamore data". 01 XML-EVENT-TYPE PIC X(20). 01 XML-EVENT-NAME PIC X(30). 01 XML-EVENT-CONTENT PIC X(100). 01 DEBUG-INFO. 05 ELEMENT-DEPTH PIC 9(3) VALUE 0. 05 TOTAL-ELEMENTS PIC 9(3) VALUE 0. 05 TOTAL-CHARACTERS PIC 9(5) VALUE 0. 05 CURRENT-PATH PIC X(200). PROCEDURE DIVISION. XML PARSE XML-DOCUMENT PROCESSING PROCEDURE COLLECT-DEBUG-INFO END-XML DISPLAY "=== XML Processing Debug Information ===" DISPLAY "Total elements: " TOTAL-ELEMENTS DISPLAY "Total characters: " TOTAL-CHARACTERS DISPLAY "Maximum depth: " ELEMENT-DEPTH STOP RUN. COLLECT-DEBUG-INFO. EVALUATE XML-EVENT-TYPE WHEN "START-OF-ELEMENT" ADD 1 TO TOTAL-ELEMENTS ADD 1 TO ELEMENT-DEPTH DISPLAY "Starting element: " XML-EVENT-NAME DISPLAY "Current depth: " ELEMENT-DEPTH WHEN "END-OF-ELEMENT" SUBTRACT 1 FROM ELEMENT-DEPTH DISPLAY "Ending element: " XML-EVENT-NAME WHEN "CHARACTER-CONTENT" ADD FUNCTION LENGTH(XML-EVENT-CONTENT) TO TOTAL-CHARACTERS DISPLAY "Content: " XML-EVENT-CONTENT END-EVALUATE EXIT.

XML-INFORMATION used for debugging and monitoring XML processing.

Information Types

Element Information

Information about XML elements being processed.

cobol
1
2
3
XML-EVENT-NAME XML-EVENT-TYPE ELEMENT-DEPTH

Attribute Information

Details about XML attributes.

cobol
1
2
3
XML-ATTRIBUTE-COUNT XML-ATTRIBUTE-NAME XML-ATTRIBUTE-VALUE

Namespace Information

Namespace details and prefixes.

cobol
1
2
3
XML-NAMESPACE-URI XML-NAMESPACE-PREFIX NAMESPACE-CONTEXT

Processing Context

Information about processing state.

cobol
1
2
3
PROCESSING-DEPTH ELEMENT-PATH CONTENT-LENGTH

Best Practices

  • Use for validation - Leverage XML-INFORMATION for document validation
  • Debugging support - Use XML-INFORMATION for debugging XML processing
  • Context tracking - Track processing context for complex XML structures
  • Performance monitoring - Monitor XML processing performance using information
  • Error handling - Use XML-INFORMATION for enhanced error handling

XML-INFORMATION Quick Reference

Information TypeData ItemUse Case
Element InfoXML-EVENT-NAME, XML-EVENT-TYPETrack element processing
Attribute InfoXML-ATTRIBUTE-COUNT, XML-ATTRIBUTE-NAMEProcess element attributes
Namespace InfoXML-NAMESPACE-URI, XML-NAMESPACE-PREFIXHandle namespaces
Processing ContextELEMENT-DEPTH, PROCESSING-PATHTrack processing state

Test Your Knowledge

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

  • To generate XML documents
  • To provide context and metadata about XML documents being processed
  • To validate XML schemas
  • To format XML output

2. What types of information does XML-INFORMATION provide?

  • Only element names
  • Only text content
  • Document structure, namespaces, attributes, and processing context
  • Only error messages

3. How is XML-INFORMATION accessed during XML processing?

  • Through special data items automatically populated by the XML parser
  • Through manual parsing
  • Through external files
  • Through database queries

4. What is the relationship between XML-INFORMATION and XML-EVENT?

  • They are the same thing
  • XML-EVENT provides events, XML-INFORMATION provides context about those events
  • XML-INFORMATION is a subset of XML-EVENT
  • They are completely unrelated

5. Can XML-INFORMATION be used for debugging XML processing?

  • No, it is only for data extraction
  • Yes, it provides valuable debugging information about XML structure and processing
  • Only for validation purposes
  • Only for formatting

Frequently Asked Questions