-let jump rendering_window node =
- let module M = Minidom in
- let s =
- match M.node_get_attribute node (M.mDOMString_of_string "href") with
- None -> assert false
- | Some s -> M.string_of_mDOMString s
- in
- let uri = UriManager.uri_of_string s in
- rendering_window#show () ;
- rendering_window#prevb#misc#set_sensitive true ;
- rendering_window#nextb#misc#set_sensitive false ;
- visited_uris := uri::!visited_uris ;
- to_visit_uris := [] ;
- annotated_obj := None ;
- update_output rendering_window uri
-;;
-
-let choose_selection rendering_window node =
- let module M = Minidom in
- let rec aux ~first_time node =
- match M.node_get_attribute node (M.mDOMString_of_string "xref") with
- None ->
- let parent =
- match M.node_get_parent node with
- None -> assert false
- | Some parent -> parent
- in
- aux ~first_time:false parent
- | Some s ->
- if not first_time then
- !(rendering_window#output)#set_selection (Some node)
- in
- match node with
- None -> () (* No element selected *)
- | Some node -> aux ~first_time:true node
+let jump rendering_window (node : Ominidom.o_mDOMNode) =
+ let module O = Ominidom in
+ match (node#get_attribute (O.o_mDOMString_of_string "href")) with
+ Some str ->
+ let s = str#get_string in
+ let uri = UriManager.uri_of_string s in
+ rendering_window#show () ;
+ rendering_window#prevb#misc#set_sensitive true ;
+ rendering_window#nextb#misc#set_sensitive false ;
+ visited_uris := uri::!visited_uris ;
+ to_visit_uris := [] ;
+ annotated_obj := None ;
+ update_output rendering_window uri
+ | None -> assert false