let xpointer_RE = Str.regexp "\\([^#]+\\)#xpointer(\\(.*\\))"
let slash_RE = Str.regexp "/"
-let term_of_uri s =
- let uri = UriManager.uri_of_string s in
+let term_of_uri uri =
+ let s = UriManager.string_of_uri uri in
try
(if String.sub s (String.length s - 4) 4 = ".con" then
Cic.Const (uri, [])
let uri_of_term = function
| Cic.Const (uri, [])
- | Cic.Var (uri, []) -> UriManager.string_of_uri uri
+ | Cic.Var (uri, []) -> uri
| Cic.MutInd (baseuri, tyno, []) ->
- sprintf "%s#xpointer(1/%d)" (UriManager.string_of_uri baseuri) (tyno + 1)
+ UriManager.uri_of_string
+ (sprintf "%s#xpointer(1/%d)" (UriManager.string_of_uri baseuri) (tyno+1))
| Cic.MutConstruct (baseuri, tyno, consno, []) ->
- sprintf "%s#xpointer(1/%d/%d)" (UriManager.string_of_uri baseuri)
- (tyno + 1) consno
+ UriManager.uri_of_string
+ (sprintf "%s#xpointer(1/%d/%d)" (UriManager.string_of_uri baseuri)
+ (tyno + 1) consno)
| _ -> raise (Invalid_argument "uri_of_term")
let select ~term ~context =