X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=tag.ml;fp=tag.ml;h=0000000000000000000000000000000000000000;hb=4b52da1a20a4fe031930bb96d2ca46bec06dc529;hp=c692e980970d69b43c598c1f2f3754e44a8aa552;hpb=a223af3254fb51c279cfbccdc18c59484fdca74e;p=SXSI%2Fxpathcomp.git diff --git a/tag.ml b/tag.ml deleted file mode 100644 index c692e98..0000000 --- a/tag.ml +++ /dev/null @@ -1,67 +0,0 @@ -(******************************************************************************) -(* SXSI : XPath evaluator *) -(* Kim Nguyen (Kim.Nguyen@nicta.com.au) *) -(* Copyright NICTA 2008 *) -(* Distributed under the terms of the LGPL (see LICENCE) *) -(******************************************************************************) -(* maybe utf8 string... *) - - -type t = int -type pool - -external null_pool : unit -> pool = "caml_xml_tree_nullt" -external null_tag : unit -> t = "caml_xml_tree_nullt" -external register_tag : pool -> string -> t = "caml_xml_tree_register_tag" -external tag_name : pool -> t -> string = "caml_xml_tree_get_tag_name" - -let nullt = null_tag () -let dummy = nullt -(* Defined in XMLTree.cpp *) -let document_node = 0 -let attribute = 1 -let pcdata = 2 -let attribute_data= 3 -let document_node_close = 4 -let attribute_close = 5 -let pcdata_close = 6 -let attribute_data_close= 7 - - -let pool = Weak.create 1 - -let init p = Weak.set pool 0 (Some p) - -let get_pool () = match Weak.get pool 0 with - | Some x -> x - | None -> failwith "Tag.ml: Uninitialized Document" - -let tag s = match s with - | "<$>" -> pcdata - | "<@>" -> attribute - | "" -> document_node - | "<@$>" -> attribute_data - | _ -> register_tag (get_pool()) s - -let compare = (-) -let equal = (==) - -let hash x = x - - -let to_string t = - if t == pcdata then "<$>" - else if t == attribute_data then "<@$>" - else if t == attribute then "<@>" - else if t == nullt then "" - else tag_name (get_pool()) t - - -let print ppf t = Format.fprintf ppf "%s" (to_string t) -(* Check internal invariants *) -let check t = - if (t != tag (to_string t)) - then failwith "module Tag: internal check failed" - -let dump = print -