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
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Aaron Bartell
Sent: donderdag 4 december 2008 19:58
To: RPG programming on the IBM i / System i
Subject: Re: XML Toolkit and CDATA elements
Couple things:
1) Try removing the XML dec entirely.
2) How is the XML being created in the first place? Is it being
concatenated into a string like your first email detailed?
Thanks,
Aaron Bartell
http://mowyourlawn.com
Paul Nicolay wrote:
Aaron,
The problem is that with anything else as ibm037 I get...
When using ISO-8859-1 I get...
Invalid document structure
When using UTF-8 I get...
An exception occurred! Type:UTFDataFormatException, Message invalid
byte
(r) of a -byte sequence.
... both pointing at the first character (ie. the <) after the end of
the header (ie. the ?> )
Kind regards,
Paul
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Aaron Bartell
Sent: donderdag 4 december 2008 14:24
To: RPG programming on the IBM i / System i
Subject: Re: XML Toolkit and CDATA elements
It might be your "xml declaration" tag that is causing the issue. Try
using one of the following instead:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml version="1.0" encoding="UTF-8"?>
HTH,
Aaron Bartell
http://mowyourlawn.com
As an Amazon Associate we earn from qualifying purchases.