I'm trying to test the new feature of ILE COBOL V5R3, the XML PARSE ability, but I have problems.
When I try this simplest example:
Identification division.
Program-id. HelloXML.
Data division.
Working-storage section.
1 M.
2 pic x(40) value
'<?xml version="1.0" encoding="ibm-37"?>'.
2 pic x(40) value
'<msg type="succinct">Hello, World!</msg>'.
Procedure division.
Display 'XML Event XML Text'
XML Parse M
Processing procedure P
End-XML
Goback.
P.
If XML-Code = 0
Display XML-Event XML-Text
End-if.
End program HelloXML.
I obtain Exception. The values of registers are:
XML-CODE = 000000051 i.e. "The document was encoded in EBCDIC, and the document encoding declaration specified a supported EBCDIC encoding, but the parser does not support the CCSID of the COBOL source member."
I'dont know why the parser does not support the CCSID of my source member, because the CCSID of my source file is 37 (just like the CCSID of XML)
XML-EVENT = 'EXCEPTION '
When I try to look at XML-TEXT, I become the following message:
Message ID . . . . . . : MCH0601 Severity . . . . . . . : 40
Message type . . . . . : Diagnostic
Date sent . . . . . . : 03/08/05 Time sent . . . . . . : 09:13:55
Message . . . . : Space offset X'00FFF000' or X'0000000000000000' is outside
current limit for object &1.
Cause . . . . . : A program tried to set a space pointer or use storage
outside a space, or tried to use an unallocated page in teraspace. The space
class is X'04'. The space class designates the type of space:
00-primary associated space (includes space objects).
01-secondary associated space 0.
02-implicit process space for automatic storage.
03-implicit process space for static storage in activation group mark
X'00000000'.
04-implicit process space for heap identifier X'00000000' in activation
group mark X'00000000'.
05-constant space.
06-space for handle-based heap identifier X'00000000'.
07-teraspace offset X'0000000000000000'.
08-teraspace for OS/400 PASE memory address X'0000000000000000'.
Offset X'00FFF000' only applies to storage outside teraspace.
X'8000000000000000F1D06F2C2E001000' is a pointer to the teraspace page or
the start of the implicit process space for the allocation.
Can anybody say me, what's going wrong?
When I try this simplest example:
Identification division.
Program-id. HelloXML.
Data division.
Working-storage section.
1 M.
2 pic x(40) value
'<?xml version="1.0" encoding="ibm-37"?>'.
2 pic x(40) value
'<msg type="succinct">Hello, World!</msg>'.
Procedure division.
Display 'XML Event XML Text'
XML Parse M
Processing procedure P
End-XML
Goback.
P.
If XML-Code = 0
Display XML-Event XML-Text
End-if.
End program HelloXML.
I obtain Exception. The values of registers are:
XML-CODE = 000000051 i.e. "The document was encoded in EBCDIC, and the document encoding declaration specified a supported EBCDIC encoding, but the parser does not support the CCSID of the COBOL source member."
I'dont know why the parser does not support the CCSID of my source member, because the CCSID of my source file is 37 (just like the CCSID of XML)
XML-EVENT = 'EXCEPTION '
When I try to look at XML-TEXT, I become the following message:
Message ID . . . . . . : MCH0601 Severity . . . . . . . : 40
Message type . . . . . : Diagnostic
Date sent . . . . . . : 03/08/05 Time sent . . . . . . : 09:13:55
Message . . . . : Space offset X'00FFF000' or X'0000000000000000' is outside
current limit for object &1.
Cause . . . . . : A program tried to set a space pointer or use storage
outside a space, or tried to use an unallocated page in teraspace. The space
class is X'04'. The space class designates the type of space:
00-primary associated space (includes space objects).
01-secondary associated space 0.
02-implicit process space for automatic storage.
03-implicit process space for static storage in activation group mark
X'00000000'.
04-implicit process space for heap identifier X'00000000' in activation
group mark X'00000000'.
05-constant space.
06-space for handle-based heap identifier X'00000000'.
07-teraspace offset X'0000000000000000'.
08-teraspace for OS/400 PASE memory address X'0000000000000000'.
Offset X'00FFF000' only applies to storage outside teraspace.
X'8000000000000000F1D06F2C2E001000' is a pointer to the teraspace page or
the start of the implicit process space for the allocation.
Can anybody say me, what's going wrong?