let print_student_list_xml (hpr:string -> unit) (gl:student list) =
let xlist = List.map (print_group_xml !student_list) !num_groups in
let options = ref [] in
options := (Xml.Element ("assign_resp",[("value",string_of_bool !do_assign_resp)],[]))::(!options);
options := (Xml.Element ("sorttype",[("value",string_of_sort !ref_sort)],[]))::(!options);
if ((List.length !groupssel) > 0) then
options := (Xml.Element ("default_group",[("value",convert_int_list_to_string !groupssel)],[]))::(!options);
options := (Xml.Element ("validity",[("value",valid_to_string !ref_validity)],[]))::(!options);
options := (Xml.Element ("allow_grading",[("value",string_of_bool !allow_grading)],[]))::(!options);
let clist = Xml.Element ("config",[],!options) in
hpr (Xml.to_string_fmt (Xml.Element ("class",[],clist::xlist)))