4107: l_exportfinished BOOLEAN;
4108:
4109: BEGIN
4110:
4111: DBMS_LOB.CREATETEMPORARY(l_lob_loc, TRUE);
4112: DBMS_LOB.OPEN(l_lob_loc, DBMS_LOB.LOB_READWRITE);
4113:
4114: l_buffer := jdr_utils.ExportDocument(p_document => p_doc_full_name,
4115: p_exportfinished => l_exportfinished);
4108:
4109: BEGIN
4110:
4111: DBMS_LOB.CREATETEMPORARY(l_lob_loc, TRUE);
4112: DBMS_LOB.OPEN(l_lob_loc, DBMS_LOB.LOB_READWRITE);
4113:
4114: l_buffer := jdr_utils.ExportDocument(p_document => p_doc_full_name,
4115: p_exportfinished => l_exportfinished);
4116:
4119: END IF;
4120:
4121: l_amount := LENGTH(l_buffer);
4122:
4123: DBMS_LOB.WRITE(l_lob_loc, l_amount, l_position, l_buffer);
4124: l_position := l_position + l_amount;
4125:
4126: IF l_exportfinished=FALSE THEN
4127: LOOP
4133: END IF;
4134:
4135: l_amount := LENGTH(l_buffer);
4136:
4137: DBMS_LOB.WRITE(l_lob_loc, l_amount, l_position, l_buffer);
4138: l_position := l_position + l_amount;
4139:
4140: IF l_buffer IS NULL OR l_exportfinished THEN
4141: EXIT;
4147: xmlparser.parseCLOB(g_PARSER, l_lob_loc);
4148:
4149: l_xmldoc := xmlparser.getDocument(g_PARSER);
4150:
4151: DBMS_LOB.CLOSE(l_lob_loc);
4152: DBMS_LOB.FREETEMPORARY(l_lob_loc);
4153:
4154: RETURN l_xmldoc;
4155:
4148:
4149: l_xmldoc := xmlparser.getDocument(g_PARSER);
4150:
4151: DBMS_LOB.CLOSE(l_lob_loc);
4152: DBMS_LOB.FREETEMPORARY(l_lob_loc);
4153:
4154: RETURN l_xmldoc;
4155:
4156: EXCEPTION