(******************************************************************************) (* SXSI : XPath evaluator *) (* Kim Nguyen (Kim.Nguyen@nicta.com.au) *) (* Copyright NICTA 2008 *) (* Distributed under the terms of the LGPL (see LICENCE) *) (******************************************************************************) module type S = sig module S : Set.S type t = private Finite of S.t | CoFinite of S.t exception InfiniteTagSet val empty : t val any : t val is_empty : t -> bool val is_any : t -> bool val is_finite : t -> bool val singleton : S.elt -> t val mem : S.elt -> t -> bool val add : S.elt -> t -> t val remove : S.elt -> t -> t val cup : t -> t -> t val cap : t -> t -> t val diff : t -> t -> t val neg : t -> t val compare : t -> t -> int val subset : t -> t -> bool val kind_split : t list -> t * t val fold : (S.elt -> 'a -> 'a) -> t -> 'a -> 'a val for_all : (S.elt -> bool) -> t -> bool val exists : (S.elt -> bool) -> t -> bool val filter : (S.elt -> bool) -> t -> S.t val partition : (S.elt -> bool) -> t -> S.t * S.t val cardinal : t -> int val elements : t -> S.elt list val from_list : S.elt list -> t val choose : t -> S.elt end module Make (Symbol : Set.OrderedType) : S with type S.elt = Symbol.t module Xml : sig include S with type S.elt = Tag.t val star : t val pcdata : t val attribute : t val node : t end