INSCRIPTION RAPIDE A LA COMMUNAUTE
Pour ajouter ou répondre à un message vous devez être membre de la communauté, remplissez rapidement ce formulaire ( minimale ) ou bien aller directement vous inscrire via l'interface membre pour personnaliser votre compte (ici)
Si vous disposez déjà d'un compte membre, veuillez vous logguer via le menu en haut à gauche de ce site
duduNouveau membre Inscrit : 05/04/2006 Messages : 7 #92920 Posté le 05/04/06 à 19:38 J'ai trouve cette exemple sur le net et il fonction *=======================* *=======================* IDENTIFICATION DIVISION. *=======================* *=======================* *==========* PROGRAM-ID. TBETMOD2. *==========* *====================* ENVIRONMENT DIVISION. *====================* *=====================* CONFIGURATION SECTION. *=====================* *===============* SOURCE-COMPUTER. IBM-370. *SOURCE-COMPUTER. IBM-370 WITH DEBUGGING MODE. *===============* *=============* *SPECIAL-NAMES. DECIMAL-POINT IS COMMA. SPECIAL-NAMES. *=============* *=============* DATA DIVISION. *=============* *=======================* WORKING-STORAGE SECTION. *=======================* * document xml / attention au majuscule/minuscule 1 xml-document. * 1140 = ebcdic * 819 = ascii * 2 pic x(39) value '<?xml version="1.0" encoding="ibm-1140"'. * * le parser n aime pas le encoding="ibm-1140" * il prefere faire le test lui meme * voir "XML CCSID exception flow control" dans la doc/web * 2 pic x(39) value '<?xml version="1.0"'. 2 pic x(19) value ' standalone="yes"?>'. 2 pic x(39) value '<!--This document is just an example-->'. 2 pic x(10) value '<sandwich>'. 2 pic x(35) value ' <bread type="baker's best"/>'. 2 pic x(41) value ' <?spread please use real mayonnaise ?>'. 2 pic x(31) value ' <meat>Ham & turkey</meat>'. 2 pic x(40) value ' <filling>Cheese, lettuce, tomato, etc.'. 2 pic x(10) value '</filling>'. 2 pic x(35) value ' <![CDATA[We should add a <relish>'. 2 pic x(22) value ' element in future!]]>'. 2 pic x(31) value ' <listprice>$4.99 </listprice>'. 2 pic x(27) value ' <discount>0.10</discount>'. 2 pic x(11) value '</sandwich>'. 1 xml-document-length computational pic 999. 1 CURRENT-ELEMENT PIC X(30). 1 XFR-ED PIC X(9) JUSTIFIED. 1 XFR-ED-1 REDEFINES XFR-ED PIC 999999.99. 1 LIST-PRICE COMPUTATIONAL PIC 9V99 VALUE 0. 1 DISCOUNT COMPUTATIONAL PIC 9V99 VALUE 0. 1 DISPLAY-PRICE PIC $$9.99. * 1 Employee1 global. 2 Name pic X(5) Value 'Tom'. 2 Idn pic 9(9) comp Value 123456789. 2 Addr. 3 Street pic X(20) Value '555 Bailey Ave'. 3 City pic X(20) Value 'San Jose'. 3 State pic X(20) Value 'California'. 2 More. 3 Age pic +99.99 Value '45.9'. 3 Firm pic BBXXX9B Value 'IBM4'. 3 Salary COMP-2 Value +.00012327E+06. 1 XML-Employee1 pic X(500). *=====================* LOCAL-STORAGE SECTION. *=====================* *===============* LINKAGE SECTION. *===============* *==================* PROCEDURE DIVISION. *==================* * permet une insersion "inline" des sections dans le code cobol MAINLINE SECTION. * appel du parser XML PARSE XML-DOCUMENT PROCESSING PROCEDURE XML-HANDLER ON EXCEPTION DISPLAY 'XML DOCUMENT ERROR ' XML-CODE NOT ON EXCEPTION DISPLAY 'XML DOCUMENT SUCCESSFULLY PARSED' END-XML * resultat 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!' * generation d un xml depuis une copie cobol * XML GENERATE XML-Employee1 FROM Employee1 * ON EXCEPTION * DISPLAY 'XML GENERATE ERROR ' XML-CODE * NOT ON EXCEPTION * DISPLAY 'XML Employee SUCCESSFULLY GENERATE' * END-XML * fin du programme GOBACK. * resultat du decodage * * START OF DOCUMENT: LENGTH=390 CHARACTERS. * VERSION: <1.0> * STANDALONE: <yes> * COMMENT: <This document is just an example> * START ELEMENT TAG: <sandwich> * CONTENT CHARACTERS: < > * START ELEMENT TAG: <bread> * ATTRIBUTE NAME: <type> * ATTRIBUTE VALUE CHARACTERS: <baker> * ATTRIBUTE VALUE CHARACTER: <'> * ATTRIBUTE VALUE CHARACTERS: <s best> * END ELEMENT TAG: <bread> * CONTENT CHARACTERS: < > * PI TARGET: <spread> * PI DATA: <please use real mayonnaise > * CONTENT CHARACTERS: < > * START ELEMENT TAG: <meat> * CONTENT CHARACTERS: <Ham > * CONTENT CHARACTER: <&> * CONTENT CHARACTERS: < turkey> * END ELEMENT TAG: <meat> * CONTENT CHARACTERS: < > * START ELEMENT TAG: <filling> * CONTENT CHARACTERS: <Cheese, lettuce, tomato, etc.> * END ELEMENT TAG: <filling> * CONTENT CHARACTERS: < > * START OF CDATA: <<![CDATA[> * CONTENT CHARACTERS: <We should add a <relish> element in fut.... * END OF CDATA: <]]>> * CONTENT CHARACTERS: < > * START ELEMENT TAG: <listprice> * CONTENT CHARACTERS: <$4.99 > * END ELEMENT TAG: <listprice> * CONTENT CHARACTERS: < > * START ELEMENT TAG: <discount> * CONTENT CHARACTERS: <0.10> * END ELEMENT TAG: <discount> * END ELEMENT TAG: <sandwich> * END OF DOCUMENT. * XML DOCUMENT SUCCESSFULLY PARSED * * -----+++++***** USING INFORMATION FROM XML *****+++++----- * * SANDWICH LIST PRICE: $4.99 * PROMOTIONAL PRICE: $4.49 * GET ONE TODAY! * * procedure inserée en "inline" XML-HANDLER SECTION. *****DISPLAY '=> <' XML-TEXT '>' * gestion des evenements xml 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' * ==> USING DE-EDITING OF A NUMERIC EDITED ITEM... MOVE XML-TEXT TO XFR-ED MOVE XFR-ED-1 TO DISCOUNT 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 TBETMOD2. HAUT DE PAGE Visiteur MPMembre du club Inscrit : Messages : 1323 #2184 Posté le 14/04/04 à 10:15 je ne connais ni ce cobol, ni l'instruction (?), ni la balise (<! commentaires ) citées, ce que je peux dire c'est que c'est toujours le programmeur qui fait une erreur. mauvaise utilisation ? sauf si bug de ce cobol, ce qui me paraît hautement improbable. @+ HAUT DE PAGE jujuNouveau membre Inscrit : 13/04/2004 Messages : 1 #2150 Posté le 13/04/04 à 19:08 Bonjour Je travail avec une version de cobol pour Z/OS V3R1 et j'essaie de traiter un flux XML. Cette version de cobol permet l'utilisation de "XML PARSE", mais je rencontre une erreur 135 lorsque je traite l'évenement START-OF-CDATA-SECTION: c'est à dire la balise <![CDATA[... Quel interet de pouvoir parser du XML si ce type de balise ne peut être traitée... HELP ! HELP !!! merci 8OERREUR BBCODE SUR CE MESSAGE : - Fin de code inattendue ! HAUT DE PAGE
HAUT DE PAGE