|
Try this: http://www-912.ibm.com/n_dir/nas4apar.nsf/fd9ac656a54b8cf286256e770069b197/ce22abf9c407373e86256eab003ca9b5?OpenDocument&Highlight=2,5722SS111 PTF is SI12032. > Do you know, where I find the PTFs ? > > > > > wlau@xxxxxxxxxxx > Sent by: cobol400-l-bounces@xxxxxxxxxxxx > 13.09.2005 16:08 > Please respond to > COBOL Programming on the iSeries/AS400 <cobol400-l@xxxxxxxxxxxx> > > > To > "COBOL Programming on the iSeries/AS400" <cobol400-l@xxxxxxxxxxxx> > cc > > Subject > Re: [COBOL400-L] Problem with XML PARSE in ILE COBOL V5R3 > > > > > > > I simply compile with default and my source CCSID is 37. I also tried your > compile options and it works fine. > > It's probably a good idea to check for latest V5R3 PTF for both ILE COBOL > compiler and runtime. > > >> I tried it once again, The CCSID of my source file is 37, and I compiled >> it with >> >> CRTBNDCBL PGM(RM/HELLOXML) >> SRCFILE(RM/XMLSRC) SRCMBR(HELLOXML) >> OPTION(*SOURCE *APOST) DBGVIEW(*SOURCE) ACTGRP(*CALLER) >> CCSID(037) >> >> but I got the same error XML-CODE = 000000051. >> >> What is the CCSID of your source file and with which command did you >> compile? >> >> >> >> >> >> >> wlau@xxxxxxxxxxx >> Sent by: cobol400-l-bounces@xxxxxxxxxxxx >> 12.09.2005 22:54 >> Please respond to >> COBOL Programming on the iSeries/AS400 <cobol400-l@xxxxxxxxxxxx> >> >> >> To >> "COBOL Programming on the iSeries/AS400" <cobol400-l@xxxxxxxxxxxx> >> cc >> >> Subject >> Re: [COBOL400-L] Problem with XML PARSE in ILE COBOL V5R3 >> >> >> >> >> >> >> Your HelloXML program seems to work with me. I have the following in the >> joblog: >> >> >> >> >> >> XML Event XML Text >> >> START-OF-DOCUMENT <?xml version="1.0" encoding >> >> ="ibm-37"?> <msg type="succinct">Hello, World!</msg> >> >> VERSION-INFORMATION 1.0 >> >> ENCODING-DECLARATION ibm-37 >> >> START-OF-ELEMENT msg >> >> ATTRIBUTE-NAME type >> >> ATTRIBUTE-CHARACTERS succinct >> >> CONTENT-CHARACTERS Hello, World! >> >> END-OF-ELEMENT msg >> >> END-OF-DOCUMENT >> >> >> >> >>> Part 1 (3 Aug 05) >>> 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? >>> >>> >>> Part 2 (11 Aug 05 8:34) >>> The above mentioned problem can be partially solved by placing the XML >>> document (encoded in CCSID=819) in the IFS directory e.g. /home/user1. >> The >>> CCSID defined inside of the XML document must be 819 too, i.e.: >>> >>> <?xml version="1.0" encoding="ibm-819" standalone="yes"?> >>> <!--This document is just an example--> >>> <sandwich> >>> <bread type="baker's best"/> >>> <?spread please use real mayonnaise ?> >>> <meat>Ham & turkey</meat> >>> <filling>Cheese, lettuce, tomato, etc. </filling> >>> <![CDATA[We should add a <relish> element in future!]]> >>> <listprice>$4.99 </listprice> >>> <discount>0.10</discount> >>> </sandwich> >>> >>> and here is the COBOL sample program >>> >>> Process APOST >>> Identification division. >>> Program-id. xmlsampl2. >>> >>> Data division. >>> Working-storage section. >>> ****************************************************************** >>> * XML document, encoded as initial values of data items. * >>> ****************************************************************** >>> 1 xml-id pic x(27) value '/home/user1/xmlsampldoc.xml'. >>> 1 xml-document-length computational pic 999. >>> >>> ****************************************************************** >>> * Sample data definitions for processing numeric XML content. * >>> ****************************************************************** >>> 1 current-element pic x(30). >>> 1 list-price computational pic 9v99 value 0. >>> 1 discount computational pic 9v99 value 0. >>> 1 display-price pic $$9.99. >>> Procedure division. >>> mainline section. >>> >>> XML PARSE FILE-STREAM xml-id PROCESSING PROCEDURE > xml-handler >>> ON EXCEPTION >>> display 'XML document error ' XML-CODE >>> NOT ON EXCEPTION >>> display 'XML document successfully parsed' >>> END-XML >>> >>> ****************************************************************** >>> * Process the transformed content and calculate promo price. * >>> ****************************************************************** >>> display ' ' >>> display '-----+++++***** Using information from XML ' >>> '*****+++++-----' >>> display ' ' >>> move list-price to display-price >>> display ' Sandwich list price: ' display-price >>> compute display-price = list-price * (1 - discount) >>> display ' Promotional price: ' display-price >>> display ' Get one today!' >>> >>> goback. >>> >>> xml-handler section. >>> evaluate XML-EVENT >>> * ==> Order XML events most frequent first >>> when 'START-OF-ELEMENT' >>> display 'Start element tag: <' XML-TEXT '>' >>> move XML-TEXT to current-element >>> when 'CONTENT-CHARACTERS' >>> display 'Content characters: <' XML-TEXT '>' >>> * ==> Transform XML content to operational COBOL data item... >>> evaluate current-element >>> when 'listprice' >>> * ==> Using function NUMVAL-C... >>> compute list-price = function numval-c(XML-TEXT) >>> when 'discount' >>> compute discount = function numval-c(XML-TEXT) >>> end-evaluate >> >> when 'END-OF-ELEMENT' >>> display 'End element tag: <' XML-TEXT '>' >>> move spaces to current-element >>> when 'START-OF-DOCUMENT' >>> compute xml-document-length = function length(XML-TEXT) >>> display 'Start of document: length=' xml-document-length >>> ' characters.' >>> when 'END-OF-DOCUMENT' >>> display 'End of document.' >>> when 'VERSION-INFORMATION' >>> display 'Version: <' XML-TEXT '>' >>> when 'ENCODING-DECLARATION' >>> display 'Encoding: <' XML-TEXT '>' >>> when 'STANDALONE-DECLARATION' >>> display 'Standalone: <' XML-TEXT '>' >>> >> when 'ATTRIBUTE-NAME' >>> display 'Attribute name: <' XML-TEXT '>' >>> when 'ATTRIBUTE-CHARACTERS' >>> display 'Attribute value characters: <' XML-TEXT '>' >>> when 'ATTRIBUTE-CHARACTER' >>> display 'Attribute value character: <' XML-TEXT '>' >>> when 'START-OF-CDATA-SECTION' >>> display 'Start of CData: <' XML-TEXT '>' >>> when 'END-OF-CDATA-SECTION' >>> display 'End of CData: <' XML-TEXT '>' >>> when 'CONTENT-CHARACTER' >>> display 'Content character: <' XML-TEXT '>' >>> when 'PROCESSING-INSTRUCTION-TARGET' >>> display 'PI target: <' XML-TEXT '>' >>> when 'PROCESSING-INSTRUCTION-DATA' >>> display 'PI data: <' XML-TEXT '>' >>> when 'COMMENT' >>> display 'Comment: <' XML-TEXT '>' >>> when 'EXCEPTION' >>> compute xml-document-length = function length (XML-TEXT) >>> display 'Exception ' XML-CODE ' at offset ' >>> xml-document-length '.' >>> when other >>> display 'Unexpected XML event: ' XML-EVENT '.' >>> end-evaluate >>> . >>> End program xmlsampl2. >>> >>> There is a CCSID-Option in ILE COBOL compiler too. After the compiling >>> with the command >>> >>> CRTBNDCBL PGM(EBKPGMP/XMLSAMPL2) >>> SRCFILE(RM/XMLSRC) SRCMBR(XMLSAMPL2) >>> OPTION(*SOURCE *APOST) DBGVIEW(*SOURCE) ACTGRP(*CALLER) >>> CCSID(819) >>> >>> (or without C >>> CSID option) the program runs without exception, but the >>> output is hieroglyphics (false encoding) e.g.: >>> >>> Start element tag: <Ë/>???ÄÇ> >>> Content characters: < > >>> Start element tag: <Â?Á/?> >>> Attribute name: <?`?Á> >>> Attribute value characters: <Â/,Á?> >>> Attribute value character: < >>> Attribute value characters: <Ë ÂÁË?> >>> >>> I don't know how to fix this problem.. >>> >>> I spoked with the IBM support too. At present it seems so, that XML >> PARSE >>> statement in ILE COBOL has problems with encodings, it works probably >> only >>> with CCSID=819. >>> >>> My opinion is, that the XML PARSE in ILE COBOL V5R3 statement is >> presently >>> not fit for production use. >>> >>> Have you other experience with XML PARSE statement in ILE COBOL V5R3 ? >>> -- >>> This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing >>> list >>> To post a message email: COBOL400-L@xxxxxxxxxxxx >>> To subscribe, unsubscribe, or change list options, >>> visit: http://lists.midrange.com/mailman/listinfo/cobol400-l >>> or email: COBOL400-L-request@xxxxxxxxxxxx >>> Before posting, please take a moment to review the archives >>> at http://archive.midrange.com/cobol400-l. >>> >> >> -- >> This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing >> list >> To post a message email: COBOL400-L@xxxxxxxxxxxx >> To subscribe, unsubscribe, or change list options, >> visit: http://lists.midrange.com/mailman/listinfo/cobol400-l >> or email: COBOL400-L-request@xxxxxxxxxxxx >> Before posting, please take a moment to review the archives >> at http://archive.midrange.com/cobol400-l. >> >> >> -- >> This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing >> list >> To post a message email: COBOL400-L@xxxxxxxxxxxx >> To subscribe, unsubscribe, or change list options, >> visit: http://lists.midrange.com/mailman/listinfo/cobol400-l >> or email: COBOL400-L-request@xxxxxxxxxxxx >> Before posting, please take a moment to review the archives >> at http://archive.midrange.com/cobol400-l. >> > > -- > This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing > list > To post a message email: COBOL400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/cobol400-l > or email: COBOL400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/cobol400-l. > > > -- > This is the COBOL Programming on the iSeries/AS400 (COBOL400-L) mailing > list > To post a message email: COBOL400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/cobol400-l > or email: COBOL400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/cobol400-l. >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.