MainframeMaster

COBOL Tutorial

COBOL XML-SCHEMA - Quick Reference

Progress0 of 0 lessons

Overview

XML-SCHEMA in COBOL refers to XML schema validation capabilities that allow COBOL programs to validate XML documents against predefined schema definitions. This ensures that XML documents conform to expected structures, data types, and constraints, providing data integrity and structure compliance in XML processing scenarios.

Key Features

  • Structure validation - Validates element hierarchy and relationships
  • Data type validation - Ensures data conforms to expected types
  • Constraint validation - Enforces business rules and constraints
  • Error reporting - Provides detailed validation error information

Syntax and Usage

XML-SCHEMA usage patterns for validating XML documents against schemas.

Basic XML-SCHEMA Validation

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
IDENTIFICATION DIVISION. PROGRAM-ID. XML-SCHEMA-VALIDATION. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE " John Doe 12345 john@example.com ". 01 XML-SCHEMA-FILE PIC X(100) VALUE "customer.xsd". 01 VALIDATION-STATUS PIC X(20). 01 ERROR-MESSAGE PIC X(200). PROCEDURE DIVISION. XML PARSE XML-DOCUMENT VALIDATING XML-SCHEMA-FILE ON EXCEPTION MOVE "VALIDATION-FAILED" TO VALIDATION-STATUS MOVE XML-ERROR-MESSAGE TO ERROR-MESSAGE DISPLAY "Validation failed: " ERROR-MESSAGE NOT ON EXCEPTION MOVE "VALIDATION-SUCCESS" TO VALIDATION-STATUS DISPLAY "XML document is valid" END-XML DISPLAY "Validation status: " VALIDATION-STATUS STOP RUN.

Basic XML-SCHEMA validation against a schema file.

Schema Validation 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
31
32
33
34
35
36
37
38
39
40
41
42
IDENTIFICATION DIVISION. PROGRAM-ID. XML-SCHEMA-ERROR-HANDLING. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000) VALUE " John Doe 12345 Widget 5 29.99 ". 01 XML-SCHEMA-FILE PIC X(100) VALUE "order.xsd". 01 VALIDATION-STATUS PIC X(20). 01 ERROR-DETAILS. 05 ERROR-LINE PIC 9(4). 05 ERROR-COLUMN PIC 9(4). 05 ERROR-MESSAGE PIC X(200). PROCEDURE DIVISION. XML PARSE XML-DOCUMENT VALIDATING XML-SCHEMA-FILE ON EXCEPTION MOVE "VALIDATION-FAILED" TO VALIDATION-STATUS MOVE XML-ERROR-LINE TO ERROR-LINE MOVE XML-ERROR-COLUMN TO ERROR-COLUMN MOVE XML-ERROR-MESSAGE TO ERROR-MESSAGE DISPLAY "Validation failed at line " ERROR-LINE DISPLAY "Column " ERROR-COLUMN ": " ERROR-MESSAGE NOT ON EXCEPTION MOVE "VALIDATION-SUCCESS" TO VALIDATION-STATUS DISPLAY "Order XML is valid" END-XML DISPLAY "Final status: " VALIDATION-STATUS STOP RUN.

XML-SCHEMA validation with detailed error handling and reporting.

Conditional Schema Validation

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
IDENTIFICATION DIVISION. PROGRAM-ID. XML-CONDITIONAL-VALIDATION. DATA DIVISION. WORKING-STORAGE SECTION. 01 XML-DOCUMENT PIC X(1000). 01 XML-SCHEMA-FILE PIC X(100). 01 VALIDATION-REQUIRED PIC X VALUE "Y". 01 VALIDATION-STATUS PIC X(20). 01 DOCUMENT-TYPE PIC X(20). PROCEDURE DIVISION. * Determine document type and schema IF DOCUMENT-TYPE = "CUSTOMER" MOVE "customer.xsd" TO XML-SCHEMA-FILE ELSE IF DOCUMENT-TYPE = "ORDER" MOVE "order.xsd" TO XML-SCHEMA-FILE ELSE IF DOCUMENT-TYPE = "PRODUCT" MOVE "product.xsd" TO XML-SCHEMA-FILE ELSE MOVE "N" TO VALIDATION-REQUIRED END-IF * Perform validation if required IF VALIDATION-REQUIRED = "Y" XML PARSE XML-DOCUMENT VALIDATING XML-SCHEMA-FILE ON EXCEPTION MOVE "VALIDATION-FAILED" TO VALIDATION-STATUS DISPLAY "Schema validation failed" NOT ON EXCEPTION MOVE "VALIDATION-SUCCESS" TO VALIDATION-STATUS DISPLAY "Schema validation passed" END-XML ELSE MOVE "NO-VALIDATION" TO VALIDATION-STATUS DISPLAY "No schema validation performed" END-IF STOP RUN.

Conditional XML-SCHEMA validation based on document type.

Validation Types

Structure Validation

Validates element hierarchy and relationships.

xml
1
2
3
4
5
John Doe 12345 john@example.com

Data Type Validation

Ensures data conforms to expected types.

xml
1
2
3
4
5
6
Widget 29.99 5 true

Constraint Validation

Enforces business rules and constraints.

xml
1
2
3
4
5
6
12345 150.00 pending

Required Element Validation

Ensures required elements are present.

xml
1
2
3
4
5
6
12345 John Doe IT

Best Practices

  • Schema design - Design schemas that accurately reflect business requirements
  • Error handling - Implement comprehensive error handling for validation failures
  • Performance consideration - Balance validation thoroughness with performance requirements
  • Schema maintenance - Keep schemas updated with business rule changes
  • Testing - Test validation with various document scenarios

XML-SCHEMA Quick Reference

Validation TypePurposeUse Case
Structure ValidationEnsures correct element hierarchyDocument structure compliance
Data Type ValidationValidates data format and typeData integrity assurance
Constraint ValidationEnforces business rulesBusiness logic compliance
Required Element ValidationEnsures mandatory elements presentCompleteness checking

Test Your Knowledge

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

  • To generate XML documents
  • To validate XML documents against schema definitions and enforce structure
  • To format XML output
  • To parse XML documents

2. How does XML-SCHEMA validation work in COBOL?

  • It only checks for well-formed XML
  • It validates XML against schema definitions to ensure structure and data type compliance
  • It only validates element names
  • It ignores all validation rules

3. What is the main benefit of using XML-SCHEMA validation?

  • It makes XML processing faster
  • It ensures data integrity and structure compliance
  • It reduces memory usage
  • It simplifies XML generation

4. How does XML-SCHEMA handle validation errors?

  • It ignores all errors
  • It reports validation errors and can halt processing
  • It only logs errors without stopping
  • It automatically fixes errors

5. What is a common use case for XML-SCHEMA validation?

  • Processing any XML document
  • Validating XML documents in data exchange scenarios where structure compliance is critical
  • Generating XML documents
  • Parsing simple XML

Frequently Asked Questions