X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fregistry%2Fhelm_registry.ml;h=0c7b437238d1e57c23a9d5bcf73d83d6e4fde2b1;hb=6556d39b592c1e56b0e7f4055242232b8bfe3c90;hp=5569165a3591c96821da3377140bcc8ee2966967;hpb=43c726af72786e33196be859936e393ba69c9ae0;p=helm.git diff --git a/helm/ocaml/registry/helm_registry.ml b/helm/ocaml/registry/helm_registry.ml index 5569165a3..0c7b43723 100644 --- a/helm/ocaml/registry/helm_registry.ml +++ b/helm/ocaml/registry/helm_registry.ml @@ -167,6 +167,10 @@ let set_opt setter ~key ~value = match value with | None -> unset key | Some value -> setter ~key ~value +let get_opt_default getter default key = + match get_opt getter key with + | None -> default + | Some v -> v let add_validator ~key ~validator ~descr = let id = get_next_validator_id () in @@ -179,13 +183,13 @@ open Pxp_types open Pxp_yacc let save_to = - let dtd = new dtd default_config.warner `Enc_utf8 in + let dtd = new dtd PxpHelmConf.pxp_config.warner `Enc_utf8 in let dot_RE = Str.regexp "\\." in let create_key_node key value = (* create a value *) let element = - create_element_node ~valcheck:false default_spec dtd "key" ["name", key] + create_element_node ~valcheck:false PxpHelmConf.pxp_spec dtd "key" ["name", key] in - let data = create_data_node default_spec dtd value in + let data = create_data_node PxpHelmConf.pxp_spec dtd value in element#append_node data; element in @@ -207,7 +211,7 @@ let save_to = find ~deeply:false (is_section section) node with Not_found -> let section_node = - create_element_node ~valcheck:false default_spec dtd + create_element_node ~valcheck:false PxpHelmConf.pxp_spec dtd "section" ["name", section] in node#append_node section_node; @@ -219,7 +223,7 @@ let save_to = in fun fname -> let xml_root = - create_element_node ~valcheck:false default_spec dtd "helm_registry" [] + create_element_node ~valcheck:false PxpHelmConf.pxp_spec dtd "helm_registry" [] in Hashtbl.iter (fun key value -> @@ -246,7 +250,7 @@ let save_to = close_out outchan let load_from_absolute = - let config = default_config in + let config = PxpHelmConf.pxp_config in let entry = `Entry_document [ `Extend_dtd_fully; `Parse_xml_decl ] in let fold_key key_stack key = match key_stack with @@ -256,7 +260,7 @@ let load_from_absolute = fun fname -> debug_print ("Loading configuration from " ^ fname); let document = - parse_wfdocument_entity config (from_file fname) default_spec + parse_wfdocument_entity config (from_file fname) PxpHelmConf.pxp_spec in let rec aux key_stack node = node#iter_nodes (fun n ->