Friday, March 15, 2013

LPX-00209: PI names starting with XML are reserved

Always check out the original article at http://www.oraclequirks.com for latest comments, fixes and updates.

I don't know why it took me more than the necessary to understand where was the problem when I hit the following error.

ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00209: PI names starting with XML are reserved

At any rate, in my case the reason was not the same as reported in other sites (like having a duplicate XML declaration).
The trouble was caused by a simple blank character located before the initial XML file declaration.
The error occurred on Oracle 10.2 (XE), while on Oracle 11.2.0.3.0 EE the blanks seem to give no concerns whatsoever to the parser.
I ignore the results on the Oracle versions in between.

You can easily simulate the problem with the following query in SQL Developer:

select xmltype(' ' || dbms_xmlgen.getxml('select 1 from dual')) x from dual;

If you have a clob object containing an xmlfile with extra blanks at the beginning of the file and attempting to parse it you get this error, you may easily fix the problem by TRIMming it first. 

See message translations for ORA-19202, LPX-00209 and search additional resources.

7 comments:

Anonymous said...

Thank you. I had this problem with an XML file from a customer. I don't think that I would have figured out the answer to this puzzle.

Unknown said...

You saved my day ... thanks, Flavio!

Cheers,
~Dietmar.

Byte64 said...

Dietmar,
I am glad to know it helped.

Frohes Weihnachten!
Flavio

Anonymous said...

Thank you for this post, saved my day too :-)

I meet this today on Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production (AIX machine).

Unknown said...

grazie mille! u saved my day

Anonymous said...

great, it works, i had an chr(10) at the begining by mistake, i removed it and then it works perfect, thanks a lot

Piyush said...

Thank you so much, I spent a lot of time trying to debug this error and the solution listed in this article finally resolved it.

yes you can!

Two great ways to help us out with a minimal effort. Click on the Google Plus +1 button above or...
We appreciate your support!

latest articles