CREATE OR REPLACE PACKAGE BODY EFT_NOM.saco_stylesheet$ IS -- -- Private Variables -- g_index_number NUMBER := 1; g_null_array owa_util.vc_arr; -- -- Private Procedures -- FUNCTION check_system_user RETURN BOOLEAN IS -- v_return BOOLEAN := FALSE; v_dummy VARCHAR(10); -- CURSOR cur_sypr(p_syus_id IN system_users.syus_id%TYPE, p_prof_name IN VARCHAR) IS SELECT NULL FROM user_profiles uspr, system_profiles sypr WHERE uspr.syus_id = p_syus_id AND uspr.sypr_id = sypr.sypr_id AND sypr.name = p_prof_name; -- BEGIN -- OPEN cur_sypr(caco_utilities.get_syus_id, 'SYSTEM'); FETCH cur_sypr INTO v_dummy; -- IF cur_sypr%NOTFOUND THEN -- v_return := FALSE; -- ELSE -- v_return := TRUE; -- END IF; -- CLOSE cur_sypr; -- RETURN v_return; -- END check_system_user; -- PROCEDURE display_header(v_screen_name IN VARCHAR2, v_body_atts IN VARCHAR2 DEFAULT NULL) IS BEGIN -- htp.htmlopen; htp.headopen; -- htp.meta('Content-Type', 'SACO_STYLESHEET', 'text/html'); htp.meta('Expires', '', '0'); htp.meta('Pragma', '', 'no-cache'); -- htp.linkrel('stylesheet', 'caco_system.css?p_type=content'); -- htp.headclose; -- htp.bodyopen(cattributes => v_body_atts); -- htp.print(caco_system.menu); -- htp.title(v_screen_name); -- htp.p('

' || v_screen_name || '

'); -- htp.anchor2(curl => 'saco_stylesheet$.showabout', ctext => 'About'); -- htp.br; htp.br; -- END display_header; -- PROCEDURE display_footer IS BEGIN -- htp.bodyclose; htp.htmlclose; -- END display_footer; -- PROCEDURE expand_javascript IS BEGIN -- htp.p(''); -- END expand_javascript; -- FUNCTION dec_to_hex(decin IN NUMBER) RETURN VARCHAR2 IS -- v_decin NUMBER; v_next_digit NUMBER; v_result VARCHAR(2000); -- BEGIN -- v_decin := decin; -- WHILE v_decin > 0 LOOP -- v_next_digit := mod(v_decin, 16); -- IF v_next_digit > 9 THEN -- IF v_next_digit = 10 THEN v_result := 'A' || v_result; ELSIF v_next_digit = 11 THEN v_result := 'B' || v_result; ELSIF v_next_digit = 12 THEN v_result := 'C' || v_result; ELSIF v_next_digit = 13 THEN v_result := 'D' || v_result; ELSIF v_next_digit = 14 THEN v_result := 'E' || v_result; ELSIF v_next_digit = 15 THEN v_result := 'F' || v_result; ELSE raise_application_error(-20600, 'Untrapped exception'); END IF; -- ELSE -- v_result := to_char(v_next_digit) || v_result; -- END IF; -- v_decin := floor(v_decin / 16); -- END LOOP; -- RETURN NVL(v_result, '00'); -- END dec_to_hex; -- PROCEDURE query_css IS -- -- Cursor Declaration -- CURSOR cur_stst(p_username IN stylesheets.username%TYPE DEFAULT NULL) IS SELECT stst.stst_id, caco_utilities.cgrefmeaning('STYLESHEET TYPE', stst.stst_type) stst_type FROM stylesheets stst WHERE (stst.username = p_username) OR (p_username IS NULL AND stst.username IS NULL) ORDER BY stst.stst_type; -- -- Variable Declaration -- v_found BOOLEAN; -- BEGIN -- -- Perform standard security check -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- -- If allowed to use this module, build up a list of stored stylesheets -- htp.para; -- -- System Stylesheets -- htp.p(htf.bold('System Stylesheets')); htp.br; -- -- Initialise Boolean -- v_found := FALSE; -- FOR cur_stst_rec IN cur_stst(NULL) LOOP -- IF NOT v_found THEN -- v_found := TRUE; -- END IF; -- IF check_system_user THEN -- htp.anchor2('saco_stylesheet$.querybykey?p_stst_id=' || cur_stst_rec.stst_id, cur_stst_rec.stst_type); -- ELSE -- htp.p(cur_stst_rec.stst_type); -- END IF; -- htp.br; -- END LOOP; -- IF NOT v_found THEN -- htp.p(' ' || 'No System Stylesheets'); htp.br; -- ELSE -- v_found := FALSE; -- END IF; -- htp.br; htp.p(htf.bold('User Stylesheets')); htp.br; -- FOR cur_stst_rec IN cur_stst(caco_utilities.get_syus_name) LOOP -- IF NOT v_found THEN -- v_found := TRUE; -- END IF; -- htp.anchor2('saco_stylesheet$.querybykey?p_stst_id=' || cur_stst_rec.stst_id, cur_stst_rec.stst_type); htp.br; -- END LOOP; -- IF NOT v_found THEN -- htp.p(' ' || 'No User Stylesheets'); htp.br; -- ELSE -- v_found := FALSE; -- END IF; -- htp.br; -- -- Include navigation buttons -- htp.formopen(curl => 'saco_stylesheet$.action', cmethod => 'POST'); -- htp.formsubmit(cname => 'p_button', cvalue => 'Requery'); -- htp.formsubmit(cname => 'p_button', cvalue => 'New'); -- htp.formclose; -- END query_css; -- PROCEDURE display_item(p_item_type IN VARCHAR2, p_item_name IN VARCHAR2, p_item_prompt IN VARCHAR2, p_item_value IN VARCHAR2) IS -- -- Cursor Declaration -- CURSOR cur_cgr(p_domain IN cg_ref_codes.rv_domain%TYPE, p_value IN cg_ref_codes.rv_low_value%TYPE) IS SELECT cgr.rv_low_value, cgr.rv_meaning FROM cg_ref_codes cgr WHERE cgr.rv_domain = p_domain AND (cgr.rv_low_value = p_value OR p_value IS NULL); -- FUNCTION is_selected(p_value IN VARCHAR2, p_option IN VARCHAR2) RETURN VARCHAR2 IS -- v_return CHAR(1) := NULL; -- BEGIN -- IF p_value IS NOT NULL AND p_option = p_value THEN -- v_return := 'Y'; -- END IF; -- RETURN v_return; -- END is_selected; -- BEGIN -- htp.formhidden(cname => 'p_item_type_array', cvalue => p_item_type); -- g_index_number := g_index_number + 1; -- htp.formhidden(cname => 'p_item_name_array', cvalue => p_item_name); -- g_index_number := g_index_number + 1; -- htp.formhidden(cname => 'p_item_prompt_array', cvalue => p_item_prompt); -- g_index_number := g_index_number + 1; -- IF p_item_type = 'TAG' THEN -- htp.p(''); -- htp.p('
'); htp.p(htf.bold(p_item_prompt) || '
'); -- htp.formhidden(cname => 'p_item_value_array', cvalue => p_item_value); -- g_index_number := g_index_number + 1; -- htp.p('
'); -- ELSIF p_item_type = 'SSTYPE' THEN -- htp.formselectopen(cname => 'p_item_value_array', cprompt => htf.bold(p_item_prompt || ': ')); -- FOR cur_cgr_rec IN cur_cgr('STYLESHEET TYPE', p_item_value) LOOP -- htp.formselectoption(cvalue => cur_cgr_rec.rv_meaning, cattributes => 'VALUE="' || cur_cgr_rec.rv_low_value || '"'); -- END LOOP; -- htp.formselectclose; htp.br; htp.br; -- g_index_number := g_index_number + 1; -- ELSIF p_item_type = 'COLOUR' THEN -- htp.p(htf.bold(p_item_prompt || ': ')); htp.formtext('p_item_value_array', 8, 8, p_item_value); -- htp.anchor2(curl => '#', cattributes => 'onClick="thew=window.open(''saco_stylesheet$.colour_chart?p_index=' || TO_CHAR(g_index_number - 1) || ''',''newWin'',''width=220,height=310,resizable=no'')"', ctext => htf.img(curl => '/images/lov.gif', calign => 'TOP', calt => 'List Values', cattributes => 'WIDTH=18 HEIGHT=22 BORDER=0')); -- g_index_number := g_index_number + 1; -- ELSIF p_item_type = 'ID' THEN -- htp.formhidden(cname => 'p_item_value_array', cvalue => p_item_value); -- g_index_number := g_index_number + 1; -- ELSIF p_item_type = 'FONTNAME' THEN -- htp.formselectopen(cname => 'p_item_value_array', cprompt => htf.bold(p_item_prompt || ': ')); -- htp.formselectoption(cvalue => NULL, cselected => NULL, cattributes => 'VALUE="' || NULL || '"'); -- htp.formselectoption(cvalue => 'Arial', cselected => is_selected(p_item_value, 'arial'), cattributes => 'VALUE="' || 'arial' || '"'); -- htp.formselectoption(cvalue => 'Comic Sans MS', cselected => is_selected(p_item_value, 'comic sans ms'), cattributes => 'VALUE="' || 'comic sans ms' || '"'); -- htp.formselectoption(cvalue => 'Courier', cselected => is_selected(p_item_value, 'courier'), cattributes => 'VALUE="' || 'courier' || '"'); -- htp.formselectoption(cvalue => 'MS Sans Serif', cselected => is_selected(p_item_value, 'ms sans serif'), cattributes => 'VALUE="' || 'ms sans serif' || '"'); -- htp.formselectoption(cvalue => 'Times New Roman', cselected => is_selected(p_item_value, 'times new roman'), cattributes => 'VALUE="' || 'times new roman' || '"'); -- htp.formselectclose; -- g_index_number := g_index_number + 1; -- ELSIF p_item_type = 'FONTSIZE' THEN -- htp.formselectopen(cname => 'p_item_value_array', cprompt => htf.bold(p_item_prompt || ': ')); -- htp.formselectoption(cvalue => NULL, cattributes => 'VALUE="' || NULL || '"'); -- FOR loop_idx IN 1 .. 10 LOOP -- htp.formselectoption(cvalue => TO_CHAR((loop_idx * 2) + 4) || 'pt', cselected => is_selected(p_item_value, TO_CHAR((loop_idx * 2) + 4) || 'pt'), cattributes => 'VALUE="' || TO_CHAR((loop_idx * 2) + 4) || 'pt"'); -- END LOOP; -- htp.formselectclose; -- g_index_number := g_index_number + 1; -- ELSIF p_item_type = 'FONTSTYLE' THEN -- htp.formselectopen(cname => 'p_item_value_array', cprompt => htf.bold(p_item_prompt || ': ')); -- htp.formselectoption(cvalue => NULL, cattributes => 'VALUE="' || NULL || '"'); -- htp.formselectoption(cvalue => 'Bold', cselected => is_selected(p_item_value, 'bold'), cattributes => 'VALUE="' || 'bold' || '"'); -- htp.formselectoption(cvalue => 'Italic', cselected => is_selected(p_item_value, 'italic'), cattributes => 'VALUE="' || 'italic' || '"'); -- htp.formselectoption(cvalue => 'Bold Italic', cselected => is_selected(p_item_value, 'bolditalic'), cattributes => 'VALUE="' || 'bolditalic' || '"'); -- htp.formselectclose; -- g_index_number := g_index_number + 1; -- ELSIF p_item_type = 'SSOWNER' THEN -- htp.formselectopen(cname => 'p_item_value_array', cprompt => htf.bold(p_item_prompt || ': ')); -- htp.formselectoption(cvalue => 'Current User', cattributes => 'VALUE="CURRUSER"'); -- htp.formselectoption(cvalue => 'System', cattributes => 'VALUE="SYSTEM"'); -- htp.formselectclose; htp.br; htp.br; -- g_index_number := g_index_number + 1; -- END IF; -- END display_item; -- -- Public Procedures -- PROCEDURE colour_chart(p_index IN NUMBER) IS -- -- BEGIN -- htp.htmlopen; -- htp.meta('Content-Type', 'SACO_STYLESHEET', 'text/html'); htp.linkrel('stylesheet', 'caco_system.css?p_type=content'); -- htp.title('Choose Colour'); -- htp.p(''); -- htp.p('
'); -- htp.bodyopen; -- htp.tableopen(cborder => 3, cattributes => 'cellpadding="3" cellspacing="0" width=200 height=200'); -- FOR g IN REVERSE 0 .. 5 LOOP -- FOR b IN REVERSE 0 .. 5 LOOP -- htp.tablerowopen; -- FOR r IN REVERSE 0 .. 5 LOOP -- htp.tabledata(cvalue => ' ', calign => 'center', cattributes => 'bgcolor="#' || dec_to_hex(r * 51) || dec_to_hex(g * 51) || dec_to_hex(b * 51) || '"' || ' onclick="setcolour(''#' || dec_to_hex(r * 51) || dec_to_hex(g * 51) || dec_to_hex(b * 51) || ''')"'); -- END LOOP; -- htp.tablerowclose; -- END LOOP; -- END LOOP; -- htp.tableclose; -- htp.br; -- htp.p(htf.bold('Colour: ')); htp.formtext('colour', 8, 8, '#FFFFFF'); htp.formtext('discolour', 8, 8); -- htp.br; htp.br; htp.p(''); htp.p(''); htp.br; -- htp.bodyclose; -- htp.formclose; -- htp.htmlclose; -- END colour_chart; -- PROCEDURE showabout IS -- l_usr varchar2(255) := null; -- BEGIN -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- l_usr := caco_security.get_user; -- WSGL.RegisterURL('caco_security$.showabout'); -- IF WSGL.NotLowerCase THEN -- RETURN; -- END IF; -- WSGL.OpenPageHead(WSGL.MsgGetText(107, WSGLM.DSP107_ABOUT) || ' '); -- htp.linkrel('stylesheet', 'caco_system.css?p_type=about'); -- WSGL.ClosePageHead; -- WSGL.OpenPageBody(FALSE, p_attributes => ''); -- htp.p(caco_system.menu); -- WSGL.DefaultPageCaption(WSGL.MsgGetText(107, WSGLM.DSP107_ABOUT) || ' '); -- htp.para; -- htp.p(WSGL.MsgGetText(108, WSGLM.DSP108_GENERATED_BY, 'PL/SQL Web Generator', '6.5.88.4.0')); htp.para; -- WSGL.Info(FALSE, 'N/A', 'SACO_STYLESHEET$', l_usr); -- htp.p(caco_system.statusbar); -- WSGL.ClosePageBody; -- EXCEPTION WHEN OTHERS THEN WSGL.DisplayMessage(WSGL.MESS_EXCEPTION, SQLERRM, '', '', 'saco_stylesheet$.showabout'); END; -- PROCEDURE startup IS BEGIN -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- display_header(caco_utilities.get_system_name || ' ' || 'Define Stylesheet'); -- query_css; -- display_footer; -- END startup; -- PROCEDURE action(p_button IN VARCHAR2 DEFAULT NULL) IS BEGIN -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- IF p_button IS NOT NULL THEN -- IF p_button = 'Requery' THEN -- -- Requery by calling the main page -- startup; -- ELSIF p_button = 'New' THEN -- -- Call the process procedure -- process(g_null_array, g_null_array, g_null_array, g_null_array, NULL); -- END IF; -- END IF; -- END action; -- PROCEDURE querybykey(p_stst_id IN stylesheets.stst_id%TYPE DEFAULT NULL) IS -- CURSOR cur_stst(p_stst_id IN stylesheets.stst_id%TYPE) IS SELECT stst.stst_id, stst.stst_type FROM stylesheets stst WHERE stst.stst_id = p_stst_id; -- CURSOR cur_stel(p_stst_id IN stylesheets.stst_id%TYPE) IS SELECT stel.item_type, stel.item_name, stel.item_prompt, stel.item_value FROM stylesheet_elements stel WHERE stel.stst_id = p_stst_id ORDER BY stel.stel_id; -- r_stst cur_stst%ROWTYPE; -- BEGIN -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- display_header(caco_utilities.get_system_name || ' ' || 'Update Stylesheet', 'onload="initialise();"'); -- IF p_stst_id IS NOT NULL THEN -- OPEN cur_stst(p_stst_id); FETCH cur_stst INTO r_stst; CLOSE cur_stst; -- expand_javascript; -- htp.formopen(curl => 'saco_stylesheet$.process', cmethod => 'POST', cattributes => 'NAME=ss'); -- g_index_number := 1; -- display_item('SSTYPE', 'SSTYPE', 'Stylesheet Type', r_stst.stst_type); -- display_item('ID', 'ID', NULL, r_stst.stst_id); -- FOR cur_stel_rec IN cur_stel(p_stst_id) LOOP -- display_item(cur_stel_rec.item_type, cur_stel_rec.item_name, cur_stel_rec.item_prompt, cur_stel_rec.item_value); -- END LOOP; -- -- Close off the last unexpanded item so the buttons can be displayed without expanding the item -- htp.p('
'); -- htp.br; htp.br; -- -- Display the standard buttons -- htp.formsubmit(cname => 'p_button', cvalue => 'Cancel'); -- htp.formsubmit(cname => 'p_button', cvalue => 'Delete'); -- htp.formsubmit(cname => 'p_button', cvalue => 'Update'); -- htp.formclose; -- htp.anchor2(curl => 'saco_stylesheet$.startup', ctext => 'Return'); -- display_footer; -- END IF; -- display_footer; -- END querybykey; -- PROCEDURE process(p_item_type_array IN owa_util.vc_arr, p_item_name_array IN owa_util.vc_arr, p_item_prompt_array IN owa_util.vc_arr, p_item_value_array IN owa_util.vc_arr, p_button IN VARCHAR2) IS -- -- Private Variables -- v_stst_id stylesheets.stst_id%TYPE; v_syus_name VARCHAR2(30); -- -- Private Cursors -- CURSOR cur_stel_setup IS SELECT stel.item_type, stel.item_name, stel.item_prompt, stel.item_value FROM stylesheet_elements stel WHERE stel.stst_id = 0; -- BEGIN -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- IF p_button IS NULL THEN -- display_header(caco_utilities.get_system_name || ' ' || 'New Stylesheet', 'onload="initialise();"'); -- expand_javascript; -- htp.formopen(curl => 'saco_stylesheet$.process', cmethod => 'POST', cattributes => 'NAME=ss'); -- g_index_number := 1; -- IF check_system_user THEN -- display_item('SSOWNER', 'SSOWNER', 'Stylesheet Owner', NULL); -- END IF; -- display_item('SSTYPE', 'SSTYPE', 'Stylesheet Type', NULL); -- FOR cur_stel_setup_rec IN cur_stel_setup LOOP -- display_item(cur_stel_setup_rec.item_type, cur_stel_setup_rec.item_name, cur_stel_setup_rec.item_prompt, cur_stel_setup_rec.item_value); -- END LOOP; -- -- Close off the last unexpanded item so the buttons can be displayed without expanding the item -- htp.p(''); -- htp.br; htp.br; -- -- Display the standard buttons -- htp.formsubmit(cname => 'p_button', cvalue => 'Cancel'); -- htp.formsubmit(cname => 'p_button', cvalue => 'Save'); -- htp.formclose; -- htp.anchor2(curl => 'saco_stylesheet$.startup', ctext => 'Return'); -- display_footer; -- ELSIF p_button = 'Cancel' THEN -- -- If cancel then redraw the screen without parameters -- process(g_null_array, g_null_array, g_null_array, g_null_array, NULL); -- ELSIF p_button = 'Save' THEN -- -- Insert Stylesheet record returning key into var -- then query by key -- IF p_item_name_array IS NOT NULL THEN -- v_stst_id := NULL; v_syus_name := caco_utilities.get_syus_name; -- FOR v_index IN 1 .. p_item_name_array.COUNT LOOP -- IF p_item_name_array(v_index) = 'SSOWNER' THEN -- IF p_item_value_array(v_index) = 'SYSTEM' THEN -- v_syus_name := NULL; -- END IF; -- ELSIF p_item_name_array(v_index) = 'SSTYPE' THEN -- INSERT INTO stylesheets (stst_type, username) VALUES (p_item_value_array(v_index), v_syus_name) RETURNING stst_id INTO v_stst_id; -- ELSE -- INSERT INTO stylesheet_elements (stst_id, item_type, item_name, item_prompt, item_value) VALUES (v_stst_id, p_item_type_array(v_index), p_item_name_array(v_index), p_item_prompt_array(v_index), p_item_value_array(v_index)); -- END IF; -- END LOOP; -- querybykey(v_stst_id); -- END IF; -- ELSIF p_button = 'Update' THEN -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- display_header(caco_utilities.get_system_name || ' ' || 'Update Stylesheet'); -- IF p_item_name_array IS NOT NULL THEN -- v_stst_id := NULL; -- FOR v_index IN 1 .. p_item_name_array.COUNT LOOP -- IF p_item_type_array(v_index) = 'SSTYPE' THEN -- NULL; -- ELSIF p_item_type_array(v_index) = 'ID' THEN -- v_stst_id := p_item_value_array(v_index); -- DELETE stylesheet_elements stel WHERE stel.stst_id = v_stst_id; -- ELSE -- INSERT INTO stylesheet_elements (stst_id, item_type, item_name, item_prompt, item_value) VALUES (v_stst_id, p_item_type_array(v_index), p_item_name_array(v_index), p_item_prompt_array(v_index), p_item_value_array(v_index)); -- END IF; -- END LOOP; -- htp.p('The selected stylesheet has been updated.'); htp.br; htp.br; htp.anchor2(curl => 'saco_stylesheet$.startup', ctext => 'Return'); -- display_footer; -- END IF; -- ELSIF p_button = 'Delete' THEN -- IF NOT caco_security.security_check('saco_stylesheet$') THEN -- RETURN; -- END IF; -- display_header(caco_utilities.get_system_name || ' ' || 'Delete Stylesheet'); -- IF p_item_name_array IS NOT NULL THEN -- v_stst_id := NULL; -- FOR v_index IN 1 .. p_item_name_array.COUNT LOOP -- IF p_item_name_array(v_index) = 'ID' THEN -- v_stst_id := p_item_value_array(v_index); -- DELETE FROM stylesheet_elements stel WHERE stel.stst_id = v_stst_id; -- DELETE FROM stylesheets stst WHERE stst.stst_id = v_stst_id; -- END IF; -- END LOOP; -- END IF; -- htp.p('The selected stylesheet has been deleted.'); htp.br; htp.br; htp.anchor2(curl => 'saco_stylesheet$.startup', ctext => 'Return'); -- display_footer; -- END IF; -- END process; -- FUNCTION convert_tags_to_css(p_stst_id IN stylesheets.stst_id%TYPE DEFAULT NULL) RETURN VARCHAR2 IS -- CURSOR cur_stel(p_stst_id IN stylesheets.stst_id%TYPE) IS SELECT stel.item_type, stel.item_name, stel.item_prompt, stel.item_value FROM stylesheet_elements stel WHERE stel.stst_id = p_stst_id ORDER BY stel.stel_id; -- v_first BOOLEAN; v_items BOOLEAN; v_return VARCHAR2(4000); v_temp VARCHAR2(4000); -- BEGIN -- IF p_stst_id IS NOT NULL THEN -- -- Define the character set which is identical for each stylesheet -- v_return := v_return || '@charset "iso-8859-1";' || CHR(10); -- -- Initialise Variables -- v_first := TRUE; v_items := FALSE; -- FOR cur_stel_rec IN cur_stel(p_stst_id) LOOP -- IF v_first AND cur_stel_rec.item_type <> 'TAG' THEN -- -- Skip any records before the first tag -- NULL; -- ELSE -- IF cur_stel_rec.item_type = 'TAG' THEN -- IF v_first THEN -- v_first := FALSE; -- ELSE -- v_temp := v_temp || '}' || CHR(10); -- IF v_items THEN -- v_return := v_return || v_temp; -- v_items := FALSE; -- END IF; -- v_temp := NULL; -- END IF; -- v_temp := v_temp || NVL(cur_stel_rec.item_value, cur_stel_rec.item_name) || '{'; -- END IF; -- IF cur_stel_rec.item_value IS NOT NULL THEN -- v_items := TRUE; -- IF cur_stel_rec.item_type = 'FONTSTYLE' THEN -- IF cur_stel_rec.item_value = 'bold' THEN -- v_temp := v_temp || 'font-weight: bold; '; -- ELSIF cur_stel_rec.item_value = 'italic' THEN -- v_temp := v_temp || 'font-style: italic; '; -- ELSIF cur_stel_rec.item_value = 'bolditalic' THEN -- v_temp := v_temp || 'font-weight: bold; font-style: italic; '; -- END IF; -- ELSE -- v_temp := v_temp || cur_stel_rec.item_name || ': ' || cur_stel_rec.item_value || '; '; -- END IF; -- END IF; -- END IF; -- END LOOP; -- v_temp := v_temp || '}' || CHR(10); -- IF v_items THEN -- v_return := v_return || v_temp; -- END IF; -- END IF; -- RETURN v_return; -- END convert_tags_to_css; -- BEGIN -- NULL; -- END saco_stylesheet$; /