456: is
457: l_value varchar2(2000);
458: begin
459: l_value := p_tag || c_lf;
460: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
461: end append_tag;
462: --
463: procedure append_item(
464: p_tag in varchar2,
467: l_value varchar2(2000);
468: begin
469: if p_value is not null then
470: l_value := '<' || p_tag || '>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
471: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
472: --
473: -- Workaround for XDO bug.6129128
474: --
475: l_value := '<' || p_tag || '_2>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
472: --
473: -- Workaround for XDO bug.6129128
474: --
475: l_value := '<' || p_tag || '_2>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
476: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
477: l_value := '<' || p_tag || '_3>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
478: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
479: l_value := '<' || p_tag || '_4>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
480: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
474: --
475: l_value := '<' || p_tag || '_2>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
476: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
477: l_value := '<' || p_tag || '_3>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
478: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
479: l_value := '<' || p_tag || '_4>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
480: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
481: end if;
482: end append_item;
476: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
477: l_value := '<' || p_tag || '_3>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
478: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
479: l_value := '<' || p_tag || '_4>' || dbms_xmlgen.convert(p_value) || '' || c_lf;
480: dbms_lob.writeAppend(l_clob, length(l_value), l_value);
481: end if;
482: end append_item;
483: --
484: procedure append_item(
504: if g_index is not null then
505: --
506: -- Construct XML
507: --
508: dbms_lob.createTemporary(l_clob, true, dbms_lob.call);
509: dbms_lob.open(l_clob, dbms_lob.lob_readwrite);
510: append_tag('');
511: append_tag('
512: --
505: --
506: -- Construct XML
507: --
508: dbms_lob.createTemporary(l_clob, true, dbms_lob.call);
509: dbms_lob.open(l_clob, dbms_lob.lob_readwrite);
510: append_tag('');
511: append_tag('
512: --
513: while g_index is not null and (g_chunk_size <= 0 or l_counter <= g_chunk_size) loop
687: return l_clob;
688: exception
689: when others then
690: if l_clob is not null then
691: dbms_lob.freeTemporary(l_clob);
692: end if;
693: raise;
694: end getXML;
695: -- |---------------------------------------------------------------------------|