I'm struggling how to write large CLOB data into XML dbms_xmldom.createTextNode. I've found something that clob has to be chucked into smaller characters (32767). This is part in XML pl sql what Im using now and I dont get correct Node.
l_varchar VARCHAR2(32767);
l_pos2 NUMBER := 1;
l_chunk_len NUMBER := 32767;
V_PDFBASE64 clob;
select pdf_base64 into V_PDFBASE64 from ei_transfer where ei_id = in_ei_id ;
DBMS_LOB.CREATETEMPORARY(V_PDFBASE64, TRUE);
WHILE l_pos2 <= DBMS_LOB.getlength(V_PDFBASE64) LOOP
item_sub_1_elmt := xmldom.createElement( doc , 'cbc:EmbeddedDocumentBinaryObject' );
item_sub_1_node := xmldom.appendChild(item_sub_1_node , xmldom.makeNode(item_sub_1_elmt));
XMLDOM.SETATTRIBUTE(item_sub_1_elmt , 'mimeCode' , 'application/pdf');
l_varchar := DBMS_LOB.SUBSTR(V_PDFBASE64,l_chunk_len,l_pos2);
l_pos2 := l_pos2 + l_chunk_len;
item_sub_1_text := dbms_xmldom.createTextNode(doc, l_varchar);
item_sub_1_node := xmldom.appendChild(item_sub_1_node , xmldom.makeNode(item_sub_1_text));
END LOOP;
The final goal is to write base64 pdf clob into EmbeddedDocumentBinaryObject element.
Thanks!