[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: xml-sax issue
></MMMProcess> '
At the end of the string - you have 6 extra characters.
Reading about XML-SAX came across this that creates a kind of debug for what is happening. Might be helpful.
http://www.mysamplecode.com/2011/06/rpgle-xml-parser-xml-sax-and-xml-into_4197.html
-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of RPG List
Sent: Friday, September 4, 2015 5:34 PM
To: HTTPAPI and FTPAPI Projects
Subject: RE: xml-sax issue
Extra characters?
> Not meaning to take this thread off topic but Expat would handle this
> simple XML very straight forward.
>
> If you want to stay with native support, Jon Paris just wrote a nice
> series of articles on XML-INTO that are pretty good places to
> understand how XML will map to a data structure. First article was August 4:
> http://www.itjungle.com/fhg/fhgindex.html
>
> Final thought back on topic, your XML has a few extra characters on
> the back side. Perhaps they are messing with the parser in some way?
> Are you using a varchar for the XML?
>
> -----Original Message-----
> From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
> [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of RPG List
> Sent: Friday, September 4, 2015 5:01 PM
> To: HTTPAPI and FTPAPI Projects
> Subject: Re: xml-sax issue
>
> It does not show any errors, in the xml. I took the string and stuck
> in it in a document added the .xml extension and opened it.
>
> I have no clue why I can't see each ELEMENT name as it loops through
> the document. It gives me START_DOCUMENT on the first pass and then
> END_DOCUMENT on the second pass and that's all.
>
>
>> I understand what your saying, I'll double check it that way... I
>> misread what you said.
>>
>> Dutch
>>
>>
>>> Alan,
>>> Its coming in as a string, its not stored on the system.
>>>
>>> Its coming from a web service, its a return response.
>>>
>>>
>>>
>>>> Take the document, make sure it has a .xml on the end and double
>>>> click
>>>> in Windows and IE will open as a XML document. If there is anything
>>>> wrong with the document, it will throw an error telling you were
>>>> the
>>>> problem is.
>>>>
>>>> On Fri, Sep 4, 2015 at 2:34 PM, RPG List <[1]rpglist@xxxxxxxxxxx>
>>>> wrote:
>>>>
>>>> Scott,
>>>> I'm not sure we don't have another problem. Here's why when
>>>> I step
>>>> through the xmlhandler, I get the start_document on the first
>>>> read,
>>>> and
>>>> then I get end_document on the second read. That's it. Its
>>>> almost as
>>>> though its never seeing the data further. I ran a test using
>>>> the
>>>> following:
>>>> XML = '<xmlTest>+
>>>> Â Â Â Â Â Â Â Â <name type="author">AS400 Sample
>>>> Code/name>+
>>>> Â Â Â Â Â Â Â Â </xmlTest>';
>>>> that worked.
>>>> Here is what the xml document looks like coming in:
>>>> '<MMMProcess><Results><Claim>8104550</Claim><Amount>1995.83</'
>>>> 'Amount><Code>7320</Code><Xrg>53</Xrg><MEANLOS2>2</MEAN'
>>>> 'LOS2><Error_Code>0</Error_Code></Results></MMMProcess>Â Â Â '
>>>> I just can't find what's wrong with the xml..
>>>> > Dutch,
>>>> >
>>>> > The XML processing instructions ("header" as you call it) are
>>>> optional.
>>>> > They are not required.
>>>> >
>>>> > The problem is what I said in my first reply to you.Â
>>>> Please read
>>>> the
>>>> > article I linked to so you can learn how XML-SAX works.
>>>> >
>>>> > -SK
>>>> >
>>>> >
>>>> > On 9/4/2015 3:18 PM, RPG List wrote:
>>>> >> one additional issue I saw this morning Scott and maybe
>>>> this is
>>>> the
>>>> >> problem, the incoming XML does not have what I would call a
>>>> standard
>>>> >> header:
>>>> >>
>>>> >> IE: it does not have a version or description that I see in
>>>> most
>>>> xml
>>>> >> documents, maybe that's needed or maybe not?
>>>> >>
>>>> >>
>>>> >>> Dutch,
>>>> >>>
>>>> >>> This looks an awful lot like a program that I wrote a long
>>>> time
>>>> ago to
>>>> >>> print the XML events. I would not recommend using this to
>>>> actually
>>>> >>> parse a document -- to parse with XML-SAX you're going to
>>>> need
>>>> to
>>>> >>> create
>>>> >>> a stack of XML elements (implemented in RPG as an array, most
>>>> likely)
>>>> >>> and keep track of the current XML element you're working on,
>>>> etc.
>>>> >>> There
>>>> >>> was another program included in that same article called
>>>> "CustXml" that
>>>> >>> demonstrates this -- that program would be a better starting
>>>> point.
>>>> >>>
>>>> [2]http://iprodeveloper.com/print/rpg-programming/rpgs-xml-sax-opcod
>>>> e
>>>> >>>
>>>> >>> (use the "print" option to format the code better, Penton
>>>> media
>>>> has
>>>> >>> screwed up the code figures in their article archive)
>>>> >>>
>>>> >>> Based on what you've shown us, the only thing you'd get in
>>>> your
>>>> string
>>>> >>> is the name of the XML tag you're parsing. (Since that's
>>>> what's
>>>> >>> pointed
>>>> >>> to by "string" during the XML_START_ELEMENT event.)
>>>> >>>
>>>> >>> You say you're getting nothing at all...? Since you're
>>>> getting
>>>> it from
>>>> >>> the 'value' field, you'd need to show us the definition
>>>> and/or
>>>> code
>>>> >>> that
>>>> >>> populates 'value' for us to see how that works. Funny
>>>> that you
>>>> omitted
>>>> >>> that part of the code considering that your question is about
>>>> it?
>>>> >>>
>>>> >>> Also, is this part of a program that uses HTTPAPI or FTPAPI?Â
>>>> If so, I
>>>> >>> guess we can discuss it here...  if not, however, this
>>>> really
>>>> doesn't
>>>> >>> belong on this mailing list.
>>>> >>>
>>>> >>> -SK
>>>> >>>
>>>> >>>
>>>> >>> On 9/3/2015 9:17 PM, RPG List wrote:
>>>> >>>> I am attempting to parse out the data I'm getting from a web
>>>> service
>>>> >>>> and
>>>> >>>> I'm having a little trouble.
>>>> >>>>
>>>> >>>> I'm using the following as my to the handler:
>>>> >>>>
>>>> >>>>Â Â Â xml = %trim(%subSt(GetResponse:3:5000));
>>>> >>>>Â Â Â xml-sax %handler(xmlHandler: ignoreMe)
>>>> >>>>Â Â Â Â Â %XML(xml: 'doc=string');
>>>> >>>>
>>>> >>>> GetResponse has the full xml string I'm expecting.
>>>> >>>>
>>>> >>>> my xmlhandler is defined as follows:
>>>> >>>>
>>>> >>>> P xmlHandler   b
>>>> >>>> D         pi      10i 0
>>>> >>>> D ignore             1a
>>>> >>>> D event             10i 0 value
>>>> >>>> D  string            *  value
>>>> >>>> D  stringLen          20i 0 value
>>>> >>>> D  exceptionId         10i 0 value
>>>> >>>>
>>>> >>>> I then have the following code in the procedure:
>>>> >>>>
>>>> >>>> OutputXML.name = XML_Event_Name(event);
>>>> >>>> OutputXML.data = *blanks;
>>>> >>>>
>>>> >>>> select;
>>>> >>>> when string=*null or stringlen<1;
>>>> >>>>Â Â Â // no string given...
>>>> >>>> when stringlen>%size(value);
>>>> >>>>Â Â Â OutputXML.data = '** string length invalid';
>>>> >>>> other;
>>>> >>>>Â Â Â OutputXML.data = %subst(value:1:stringlen);
>>>> >>>> endsl;
>>>> >>>>
>>>> >>>> // Change Current XML group if applicable
>>>> >>>> Select;
>>>> >>>>Â Â Â When OutputXML.name = 'XML_START_ELEMENT';
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >>>> The problem is outputXML.data never has a value that I can
>>>> see. Am I
>>>> >>>> doing something wrong or am I missing a step?
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >>>>
>>>> >
>>>> >
>>>> --------------------------------------------------------------------
>>>> ---
>>>> > This is the FTPAPI mailing list. To unsubscribe, please go
>>>> to:
>>>> > [3]http://www.scottklement.com/mailman/listinfo/ftpapi
>>>> >
>>>> --------------------------------------------------------------------
>>>> ---
>>>> >
>>>> --------------------------------------------------------------------
>>>> ---
>>>> This is the FTPAPI mailing list. To unsubscribe, please go to:
>>>> [4]http://www.scottklement.com/mailman/listinfo/ftpapi
>>>> --------------------------------------------------------------------
>>>> ---
>>>>
>>>> References
>>>>
>>>> 1. mailto:rpglist@xxxxxxxxxxx
>>>> 2.
>>>> http://iprodeveloper.com/print/rpg-programming/rpgs-xml-sax-opcode
>>>> 3. http://www.scottklement.com/mailman/listinfo/ftpapi
>>>> 4. 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
>>>> -------------------------------------------------------------------
>>>> -
>>>> ---
>>>>
>>>
>>>
>>> --------------------------------------------------------------------
>>> -
>>> -- This is the FTPAPI mailing list. To unsubscribe, please go to:
>>> 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
>> ---------------------------------------------------------------------
>> -
>> -
>>
>>
>
>
> ----------------------------------------------------------------------
> - This is the FTPAPI mailing list. To unsubscribe, please go to:
> 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
> ----------------------------------------------------------------------
> -
>
>
-----------------------------------------------------------------------
This is the FTPAPI mailing list. To unsubscribe, please go to:
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
-----------------------------------------------------------------------