+let is_an_obj s =
+ try
+ s <> UriManager.buri_of_uri (UriManager.uri_of_string s)
+ with UriManager.IllFormedUri _ -> true
+
+let resolve ~local ~writable uri =
+ if remote () then
+ resolve_remote ~writable uri
+ else
+ let uri = deref_index_theory ~local uri in
+ try
+ if is_an_obj uri then
+ Http_getter_storage.resolve ~writable ~local (uri ^ xml_suffix)
+ else
+ Http_getter_storage.resolve ~writable ~local uri
+ with Http_getter_storage.Resource_not_found _ -> raise (Key_not_found uri)
+
+let filename ~local ~writable uri =