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

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



   Hi Hendrik, Mike and Scott
   Thanks for the ideas.
   Hendrik, I rewrote my applications using the HTTPAPI like you suggested
   yesterday and its perfect. All the special characters are replaced like
   we want.
   Thanks for the help.
   Derick Venter
   Applications Developer IV

   [cid:_4_078F4D98078F4998001F530442257C1D]

   Systems Integration
   Tel: +27 (13) 247 2816 Fax: +27 (0) 86 573 2274
   Cell: +27 (0) 83 458 6599
   Email: [1]derick.venter@xxxxxxxxxx
   [2]www.gijima.com
   From:        Henrik Rützou <hr@xxxxxxxxxxxx>
   To:        HTTPAPI and FTPAPI Projects <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
   Date:        2013/11/07 02:00 PM
   Subject:        Re: R: Reading XML with &Amp; as part of string
   Sent by:        ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
     __________________________________________________________________

   Hi Derick,
   It seems to me that you are doing too much work to read the SOAP
   envelope.
   Scott has a build in XML reader in HTTPAPI, why not use that. The
   alternative is either to use XML-INTO or my free build in XMLreader()
   in
   powerEXT Core that work both as an include in the HTTPAPI program and
   in a
   "stand alone" environment with input typical from a file. They will all
   handle the special XML decodings like &amp; automatically.
   Here is a simple example of how to read the XML
   // load the xml either from storage or from a IFS file
   dow xmlReader = 0;
    select;
      when xmlGetNode = `p1:routeProcessStep' and xmlGetAttr = `';
        myvar = xmlGetData;
    endsl;
   enddo;
   myvar will be "Num1 & Num2'
   On Thu, Nov 7, 2013 at 9:36 AM, <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 &amp;. 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(' &amp; ': %TRIM(%char(val))) > *Zeros;
   >                    val = %Replace('&' : %TRIM(%char(val))
   >                    : %Scan(' &amp; ': %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][3]http://schemas.xmlsoap.org/soap/envelope/";
   >    xmlns:xsd="[2][4]http://www.w3.org/2001/XMLSchema";
   >    xmlns:xsi="[3][5]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][6]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
   >
   >    [[7]cid:_4_098DBB8C098DB78C002F47D142257C1C]
   >
   >    Systems Integration
   >    Tel: +27 (13) 247 2816 Fax: +27 (0) 86 573 2274
   >    Cell: +27 (0) 83 458 6599
   >    Email: [5]derick.venter@xxxxxxxxxx
   >    [6][8]www.gijima.com
   >    From:        Scott Klement <sk@xxxxxxxxxxxxxxxx>
   >    To:        HTTPAPI and FTPAPI Projects
   <ftpapi@xxxxxxxxxxxxxxxxxxxxxx>
   >    Date:        2013/11/06 05:09 PM
   >    Subject:        Re: R: Reading XML with &Amp; as part of string
   >    Sent by:        ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
   >
   __________________________________________________________________
   >
   >    So you are not using HTTPAPI's XML parser?!
   >    On 11/6/2013 8:12 AM, 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][9]http://www.scottklement.com/mailman/listinfo/ftpapi
   >
   -----------------------------------------------------------------------
   >
   __________________________________________________________________
   >
   >    This e-mail is subject to the Columbus Stainless [Pty] Ltd Email
   Legal
   >    Notices available at:
   >    [8][10]http://www.columbus.co.za/EmailLegalNotice.htm.
   >
   __________________________________________________________________
   >
   >    This e-mail message has been scanned for Viruses and Content and
   >    cleared by MailMarshal
   >
   __________________________________________________________________
   >
   > References
   >
   >    1. [11]http://schemas.xmlsoap.org/soap/envelope/
   >    2. [12]http://www.w3.org/2001/XMLSchema
   >    3. [13]http://www.w3.org/2001/XMLSchema-instance
   >    4. [14]http://www.w3.org/2001/XMLSchema-instance
   >    5. [15]mailto:derick.venter@xxxxxxxxxx
   >    6. [16]http://www.gijima.com/
   >    7. [17]http://www.scottklement.com/mailman/listinfo/ftpapi
   >    8. [18]http://www.columbus.co.za/EmailLegalNotice.htm
   >
   >
   -----------------------------------------------------------------------
   > This is the FTPAPI mailing list.  To unsubscribe, please go to:
   > [19]http://www.scottklement.com/mailman/listinfo/ftpapi
   >
   -----------------------------------------------------------------------
   >
   >
   --
   Regards,
   Henrik Rützou
   [20]http://powerEXT.com <[21]http://powerext.com/>
   -----------------------------------------------------------------------
   This is the FTPAPI mailing list.  To unsubscribe, please go to:
   [22]http://www.scottklement.com/mailman/listinfo/ftpapi
   -----------------------------------------------------------------------
     __________________________________________________________________

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

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

References

   1. mailto:derick.venter@xxxxxxxxxx
   2. http://www.gijima.com/
   3. http://schemas.xmlsoap.org/soap/envelope/
   4. http://www.w3.org/2001/XMLSchema
   5. http://www.w3.org/2001/XMLSchema-instance
   6. http://www.w3.org/2001/XMLSchema-instance
   7. cid:_4_098DBB8C098DB78C002F47D142257C1C
   8. file://localhost/tmp/www.gijima.com
   9. http://www.scottklement.com/mailman/listinfo/ftpapi
  10. http://www.columbus.co.za/EmailLegalNotice.htm
  11. http://schemas.xmlsoap.org/soap/envelope/
  12. http://www.w3.org/2001/XMLSchema
  13. http://www.w3.org/2001/XMLSchema-instance
  14. http://www.w3.org/2001/XMLSchema-instance
  15. mailto:derick.venter@xxxxxxxxxx
  16. http://www.gijima.com/
  17. http://www.scottklement.com/mailman/listinfo/ftpapi
  18. http://www.columbus.co.za/EmailLegalNotice.htm
  19. http://www.scottklement.com/mailman/listinfo/ftpapi
  20. http://powerext.com/
  21. http://powerext.com/
  22. http://www.scottklement.com/mailman/listinfo/ftpapi
  23. http://www.columbus.co.za/EmailLegalNotice.htm

PNG image

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