× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On 8/28/2013 9:56 AM, RPGLIST wrote:
I don't believe so, actually I'm only attempting to extract the first
section of the document right now and there is no field like that.

Error code 12 is saying I have a mixed case, but I'm telling it in the
options to ignore any case, so I've been beating my head against the glass
:)


The case option only applies to how XML-INTO matches your the XML names to the subfields. Problems with the case option wouldn't cause a parser error, it would cause a status 353 error (XML document does not match the RPG variable).

The RNX0351 message should say what offset it discovered the error at.

Error code 12 isn't complaining about the case of "XML". That's just explaining that it might have found XML or xml or XmL. It's complaining about finding a processing instruction with the name XML, in some case.

A processing instruction has this form:

<?PITarget PIContent?>

The <?xml at the beginning of your document looks like a processing instruction, but it's just the XML declaration.

But if you have another <?xml later in your document, then that _would_ be a processing instruction, and I believe it's not valid for a PI to have the name "xml".

You could try using XML-SAX with your XML file. There's a simple XML-SAX program below that doesn't actually do anything but you can set a breakpoint on the "return" statement in the handler and check each event as it comes in. If the "string" pointer is set, you check the length (stringlen) and then check the value of the string. You can watch the progress of the parser as it works through your document and narrow down where it's choking on the XML.

Debugging an event where the string pointer is not set

> EVAL _QRNU_XMLSAX(event)
_QRNU_XMLSAX(EVENT) = 'START_DOCUMENT '
> EVAL string
STRING = SPP:*NULL

Debugging an event where the string pointer is set

> EVAL _QRNU_XMLSAX(event)
_QRNU_XMLSAX(EVENT) = 'VERSION_INFO '
> EVAL string
STRING = SPP:00008000460840CF
> EVAL stringlen
STRINGLEN = 3
> EVAL string:c 3
STRING:C 3 = '1.0'

H dftactgrp(*no) debug(*xmlsax)
* Add a prototype for "hdlr" if you're not on 7.1
D commArea s 10a
/free
xml-sax(e) %handler(hdlr : commArea)
%xml('myfile.xml' : 'doc=file');
*inlr = '1';
/end-free
P hdlr b
D hdlr pi 10i 0
D comm like(commArea)
D event 10i 0 value
D string * value
D stringlen 20i 0 value
D exceptionId 10i 0 value
/free
return 0;
/end-free
P e


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.