XSLT of large documents incomplete
66128Jul 28 2003 — edited Apr 26 2004XMLTransform() and XMLType.transform() do not return a complete result when fed with large xml documents (approx > 3.5 MB). Smaller documents transform perfectly.
Example: let table test (id NUMBER, xmltext CLOB) contain two records:
ID DBMS_LOB.GETLENGTH(XMLTEXT)
--- ---------------------------
1 4137788 (xml document)
2 2143 (xsl document)
Using SQL*Plus, the following command returns only the last portion (18332 bytes) of the expected result (83868 bytes).
select xmltransform(
(select xmltype(xmltext) from test where id = 1),
(select xmltype(xmltext) from test where id = 2)).getClobVal()
from dual;
The same happens when using a PL/SQL procedure with temporary clob variables. However, when the two xml records are spooled to text files and fed to an external xalan processor the result is correct and complete!
Is this a memory problem? Oracle reports no errors, no alertlog entries, no trace files. We use Oracle9i Enterprise Edition Release 9.2.0.3.0 under SUN Solaris 9.
Thank you for any help. Of course I can provide the two documents.
Dirk Schmatz