]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/software/components/urimanager/uriManager.ml
Huge commit with several changes:
[helm.git] / helm / software / components / urimanager / uriManager.ml
index c0da8eb4b334e5a3e01fea383fcfcc8c88879678..2d099a4e9748bf64cae26ef76bf6361ce9986821 100644 (file)
@@ -191,6 +191,25 @@ let bodyuri_of_uri (uri, _) =
     None
 ;;
 
+let ind_uri_split ((s, _) as uri) =
+    let noxp = strip_xpointer uri in
+    try 
+      (let arg_index = String.rindex s '(' in
+       try 
+         (let ty_index = String.index_from s arg_index '/' in
+          try 
+            (let k_index = String.index_from s (ty_index+1) '/' in
+             let tyno = int_of_string (String.sub s (ty_index + 1) (k_index - ty_index - 1)) in
+             let kno = int_of_string (String.sub s (k_index + 1) (String.length s - k_index - 2)) in
+             noxp, Some tyno, Some kno)
+          with Not_found -> 
+            let tyno = int_of_string (String.sub s (ty_index + 1) (String.length s - ty_index - 2)) in
+            noxp, Some tyno, None)
+       with Not_found -> noxp, None, None
+      )
+    with Not_found -> noxp, None, None
+;;
+
 (* these are bugged!
  * we should remove _types, _univ, _ann all toghether *)
 let innertypesuri_of_uri (uri, _) =