× 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.



Hi Paul,

Everything you say seems to point at a CCSID problem. The square bracket [ character is notoriously difficult to deal with in EBCDIC

Since your encoding is set to ibm037 -- please make extra sure that the CCSID of your RPG source code is CCSID 37. (Which would be odd, since if I recall correctly, you don't live in a country that uses 37 by default)
If not, make corrections accordingly.


Paul Nicolay wrote:
Hi,

Parsing from an IFS file with QxmlXercesDOMParser_parse_SystemId works
fine BTW...

I don't have any issues that way with neither the encoding, nor the
CDATA element ?

Kind regards,
Paul

PS. Looking at the square brackets in the file, they look exactly the
same as in the source code.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Paul Nicolay
Sent: donderdag 4 december 2008 20:27
To: RPG programming on the IBM i / System i
Subject: RE: XML Toolkit and CDATA elements

Hi,

When removing the XML declaration I always get the
UTFDataFormatException.

Yes, it is concatenated in the program... below is the code snippet;

/COPY QXMLDEV550/QRPGLESRC,QXML4PR550 DpBuffer S * DBufferID S 16 DpBufferID S * Inz(%Addr(BufferID)) DpMessage S * Inz(%Addr(Message)) DMessage S 65535 Varying DpParser S * DpDomExcDta S * Inz(%Addr(Qxml_DOMEXCDATA)) DpEnvData S * Inz(%Addr(Qxml_SaxExcData)) DLog S 512 Varying
/free Message = // '<?xml version="1.0" encoding="ibm037" ?>' // '<?xml version="1.0" encoding="ISO-8859-1" ?>' // '<?xml version="1.0" encoding="UTF-8" ?>' '<root><node>' + '<Object>' //+ '<![CDATA[This is <a> test.]]>' + 'This is a test.' + '</Object>' + '</node></root>'; QxmlInit(pDomExcDta); pParser = QxmlXercesDOMParser_new(pEnvData); %Str(pBufferID: 16) = 'TestID'; pBuffer = QxmlMemBufInputSource_new(pMessage + 2: %Len(Message): pBufferID: Qxml_JOBCCSID: 0: 0);

QxmlXercesDOMParser_setValidationScheme(pParser: Qxml_VALAU); QxmlXercesDOMParser_setValidationSchemaFullChecking(pParser: Qxml_VALNO); QxmlXercesDOMParser_setIncludeIgnorableWhitespace(pParser: Qxml_WHTSP); QxmlXercesDOMParser_parse_InputSource(pParser: pBuffer); If Qxml_ErrorType <> Qxml_NOERROR; Log = %Trim(Qxml_ErrMsg) + ' at line ' + %Char(Qxml_RtnLine) + ' column ' + %Char(Qxml_RtnCol); EndIf;


Kind regards,
Paul



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.