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

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.