X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Ftree.ml;h=bc81cf48ecffd4fa2a921c139c01d3e63510c507;hb=83e9f9d8f219fece86afbedd1332d5ad97971d1c;hp=10a499da87a5577eba1da0c763614de80e696eb5;hpb=9d19c60e10c9572885509b35c2b72f362968d6ab;p=SXSI%2Fxpathcomp.git diff --git a/src/tree.ml b/src/tree.ml index 10a499d..bc81cf4 100644 --- a/src/tree.ml +++ b/src/tree.ml @@ -51,7 +51,7 @@ module TreeBuilder = struct type t external create : unit -> t = "caml_xml_tree_builder_create" - external open_document : t -> bool -> int -> bool -> int -> unit = "caml_xml_tree_builder_open_document" + external open_document : t -> int -> bool -> int -> unit = "caml_xml_tree_builder_open_document" external close_document : t -> tree = "caml_xml_tree_builder_close_document" external open_tag : t -> string -> unit = "caml_xml_tree_builder_open_tag" external close_tag : t -> string -> unit = "caml_xml_tree_builder_close_tag" @@ -133,8 +133,7 @@ struct Expat.set_end_element_handler parser_ (end_element_handler parser_ build buf); Expat.set_character_data_handler parser_ (character_data_handler parser_ build buf); Logger.print Format.err_formatter "Started parsing@\n"; - open_document build !Options.index_empty_texts !Options.sample_factor - !Options.disable_text_collection !Options.text_index_type; + open_document build !Options.sample_factor !Options.disable_text_collection !Options.text_index_type; open_tag build ""; parser_, finalize @@ -184,7 +183,7 @@ let bit_vector_unsafe_set v i b = let bit_vector_create n = let len = if n <= 0 then 0 else (n - 1) / 8 + 1 in - String.make len '\000' + String.make len '\000' type t = { doc : tree; @@ -264,9 +263,11 @@ let next_sibling t n = tree_next_sibling t.doc n external tree_next_element : tree -> [`Tree] Node.t -> [`Tree] Node.t = "caml_xml_tree_next_element" "noalloc" let next_element t n = tree_next_element t.doc n + external tree_tagged_sibling : tree -> [`Tree] Node.t -> Tag.t -> [`Tree] Node.t = "caml_xml_tree_tagged_sibling" "noalloc" let tagged_sibling t n tag = tree_tagged_sibling t.doc n tag + external tree_select_sibling : tree -> [`Tree ] Node.t -> unordered_set -> [`Tree] Node.t = "caml_xml_tree_select_sibling" "noalloc" let select_sibling t n tag_set = tree_select_sibling t.doc n tag_set @@ -318,7 +319,7 @@ open Format let dump_tag_table t = let tag = ref 0 in let printer ppf set = - Logger.print ppf "%s: %a" + Logger.print ppf "%s: %a" (Tag.to_string !tag) TagSet.print (TagSet.inj_positive set); incr tag in