DBMS_XMLGEN.CONVERT Function Generates Corrupted Output For Text With Non-ASCII Symbols (Doc ID 2210588.1)

Last updated on DECEMBER 05, 2016

Applies to:

Oracle Database - Standard Edition - Version 12.1.0.2 and later
Information in this document applies to any platform.

Symptoms

DBMS_XMLGEN.CONVERT function generates corrupted output when resulting xml size is greater than 256K

For example
* Database is using AL32UTF8 character set.
* Generated output has size of more than 128k bytes.
* Input text contains non-ASCII symbols (i.e. symbols with codes higher that 127, which are represented as multi-byte sequences in UTF-8).

Without <Patch 21424376> corrupted data is generated for all texts with size greater than 128k. If <Patch 21424376> is installed, then only data with non-ASCII symbols gets corrupted.

Here is the simple test case which demonstrates the problem - result of SQL query with non-ASCII symbols gets converted to XML text, then processed by XMLGEN and then passed to xmlparse function:

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms