[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: R: Reading XML with &Amp; as part of string



   What you describe is the correct and expected behavior for the XPATH
   program.  The purpose of that program was to demonstrate how to keep
   track of the parent elements of each XML tag by putting them in a
   'path'.
   It does not, however, attempt to consolidate the character data between
   the elements into a single string, it doesn't need to because that's
   not what that program was trying to demonstrate. For an example of
   consolidating the character data, see the CHARDATA2 example.
   This mailing list is only for discussing the HTTPAPI and FTPAPI open
   source tools.   A discussion of Expat should be held on a
   general-purpose list or forum, such as one of these:
   [1]http://www.midrange.com  (use the RPG400-L e-mail list)
   [2]http://www.code400.com (use the RPG forum)
   [3]http://forums.iprodeveloper.com (use the RPG forum)
   For this mailing list, please keep to the topic of HTTPAPI, WSDL2RPG or
   FTPAPI.  Thanks!!

   On 11/7/2013 2:36 AM, [4]Venter.Derick@xxxxxxxxxxxxxx wrote:

   Hi Scott
   No I am not using the HTTPAPI's XML parser. We installed the LIBEXPAT
   library from your web site and I am using the USERDATA.rpgle as an
   example for my program. (Sorry not the XPATH.rpgle as i mentioned in my
   previous mail)
   It seems like it is reading the text after the &. If i print the
   value to the spoolfile it prints an & and then on the next line the
   rest of the text.
   eg:
   &
    Num2
   Here's the code to read the value from the tag:
                 WHEN  d.stack(d.depth) = '/soapenv:Envelope/soapenv:Body'

   +'/p1:CorticonResponse/p1:WorkDocuments'
                                         +'/p1:Process'
                                         +'/p1:routeProcessStep';
                 PrintMe =  %TRIM(%char(val));
                 Except Print;
                 DoW %Scan(' & ': %TRIM(%char(val))) > *Zeros;
                   val = %Replace('&' : %TRIM(%char(val))
                   : %Scan(' & ': %TRIM(%char(val))): 7);
                 EndDo;
                 PrintMe =  %TRIM(%char(val));
                 Except Print;
                 %OCCUR(PROCESSDATA) = d.procCnt;
                 PROCESSDATA.RTEPROCSTEP = %TRIM(%char(val));
   Here's my xml:
   <?xml version="1.0" encoding="UTF-8"?>
   <soapenv:Envelope
   xmlns:soapenv="[1][5]http://schemas.xmlsoap.org/soap/envelope/";
   xmlns:xsd="[2][6]http://www.w3.org/2001/XMLSchema";
   xmlns:xsi="[3][7]http://www.w3.org/2001/XMLSchema-instance";>
   <soapenv:Body>
     <p1:CorticonResponse ccExeStart="1383656944646"
   ccExeStop="1383656944677" decisionServiceName="cascading"
   xmlns:p1="urn:Corticon">
       <p1:WorkDocuments
   xmlns:xsi="[4][8]http://www.w3.org/2001/XMLSchema-instance";>
         <p1:Process id="HBCB20130822002338316B20130822002338318"
   newOrModified="true">
           <p1:lengthYieldFactor>0</p1:lengthYieldFactor>
           <p1:lineOperationMode>RECL</p1:lineOperationMode>
           <p1:overwindEntryCode>O</p1:overwindEntryCode>
           <p1:overwindExitCode>O</p1:overwindExitCode>
           <p1:pcpIndicator>true</p1:pcpIndicator>
           <p1:processCode>HBC</p1:processCode>
           <p1:routeProcessStep>Num1 &amp; Num2</p1:routeProcessStep>
           <p1:trimmingYieldFactor>0</p1:trimmingYieldFactor>
           <p1:inProduct href="#B20130628002168289"/>
           <p1:outProduct href="#Product_id_1"/>
           <p1:workstation
   href="HBCAP1B20130822002338316B20130822002338318"/>
         </p1:Process>
         </p1:WorkDocuments>
       <p1:Messages version="1"/>
     </p1:CorticonResponse>
   </soapenv:Body>
   </soapenv:Envelope>
   Derick Venter
   Applications Developer IV

   [[9]cid:_4_098DBB8C098DB78C002F47D142257C1C]

   Systems Integration
   Tel: +27 (13) 247 2816 Fax: +27 (0) 86 573 2274
   Cell: +27 (0) 83 458 6599
   Email: [[10]5]derick.venter@xxxxxxxxxx
   [6]www.gijima.com
   From:        Scott Klement [11]<sk@xxxxxxxxxxxxxxxx>
   To:        HTTPAPI and FTPAPI Projects [12]<ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
   Date:        2013/11/06 05:09 PM
   Subject:        Re: R: Reading XML with &Amp; as part of string
   Sent by:        [13]ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
     __________________________________________________________________

   So you are not using HTTPAPI's XML parser?!
   On 11/6/2013 8:12 AM, [14]Venter.Derick@xxxxxxxxxxxxxx wrote:
   >     The replacement of &amp; with & works with plain RPG code using a
   >     string value.
   >     The problem is that the reader of the xml field seems to read
   &amp;
   >     correct but the rest of the string is thrown away.
   >     When I print the value to the spool file, I see the following:
   >     &
   >     the rest of my string.
   >     Seems that the reader is adding a next line character.
   >     I used Scott Klement's XPATH example to read through my XML
   document
   >     and parse it.
   >     Any ideas?
   >     Derick Venter
   >     Applications Developer IV---
   -----------------------------------------------------------------------
   This is the FTPAPI mailing list.  To unsubscribe, please go to:
   [7][15]http://www.scottklement.com/mailman/listinfo/ftpapi
   -----------------------------------------------------------------------
     __________________________________________________________________

   This e-mail is subject to the Columbus Stainless [Pty] Ltd Email Legal
   Notices available at:
   [8][16]http://www.columbus.co.za/EmailLegalNotice.htm.
     __________________________________________________________________

   This e-mail message has been scanned for Viruses and Content and
   cleared by MailMarshal
     __________________________________________________________________

References

   1. [17]http://schemas.xmlsoap.org/soap/envelope/
   2. [18]http://www.w3.org/2001/XMLSchema
   3. [19]http://www.w3.org/2001/XMLSchema-instance
   4. [20]http://www.w3.org/2001/XMLSchema-instance
   5. [21]mailto:derick.venter@xxxxxxxxxx
   6. [22]http://www.gijima.com/
   7. [23]http://www.scottklement.com/mailman/listinfo/ftpapi
   8. [24]http://www.columbus.co.za/EmailLegalNotice.htm


-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
[25]http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------

References

   1. http://www.midrange.com/
   2. http://www.code400.com/
   3. http://forums.iprodeveloper.com/
   4. mailto:Venter.Derick@xxxxxxxxxxxxxx
   5. http://schemas.xmlsoap.org/soap/envelope/
   6. http://www.w3.org/2001/XMLSchema
   7. http://www.w3.org/2001/XMLSchema-instance
   8. http://www.w3.org/2001/XMLSchema-instance
   9. cid:_4_098DBB8C098DB78C002F47D142257C1C
  10. mailto:5]derick.venter@xxxxxxxxxx
  11. mailto:sk@xxxxxxxxxxxxxxxx
  12. mailto:ftpapi@xxxxxxxxxxxxxxxxxxxxxx
  13. mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
  14. mailto:Venter.Derick@xxxxxxxxxxxxxx
  15. http://www.scottklement.com/mailman/listinfo/ftpapi
  16. http://www.columbus.co.za/EmailLegalNotice.htm
  17. http://schemas.xmlsoap.org/soap/envelope/
  18. http://www.w3.org/2001/XMLSchema
  19. http://www.w3.org/2001/XMLSchema-instance
  20. http://www.w3.org/2001/XMLSchema-instance
  21. mailto:derick.venter@xxxxxxxxxx
  22. http://www.gijima.com/
  23. http://www.scottklement.com/mailman/listinfo/ftpapi
  24. http://www.columbus.co.za/EmailLegalNotice.htm
  25. http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------