X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Futils%2FqNameSet.ml;h=d895ff3943e4f15afc9a02248c82ebaff57388aa;hp=e1fa8a1098e2021f7a14fabf72f9c02539a5eb76;hb=97cc08246d4a73e9cc9070f645a351799b7340d1;hpb=30bc0bb1291426e5e26eb2dee1ffc41e4c246349 diff --git a/src/utils/qNameSet.ml b/src/utils/qNameSet.ml index e1fa8a1..d895ff3 100644 --- a/src/utils/qNameSet.ml +++ b/src/utils/qNameSet.ml @@ -14,7 +14,7 @@ (***********************************************************************) (* - Time-stamp: + Time-stamp: *) include FiniteCofinite.Make(Ptset.Make(QName)) @@ -24,17 +24,26 @@ let print_finite fmt e conv = Pretty.print_list ~sep:"," QName.print fmt (conv e); Format.fprintf fmt "}" -let printer fmt e test conv inv = +let printer fmt e test conv inv is_any = if test e then print_finite fmt e conv - else begin - Format.fprintf fmt "%s \\ " Pretty.big_sigma; - print_finite fmt (inv e) conv - end + else + let () = Format.fprintf fmt "%s" Pretty.big_sigma in + if not (is_any e) then begin Format.fprintf fmt "-";print_finite fmt (inv e) conv end -let print fmt e = printer fmt e is_finite elements complement +let print fmt e = printer fmt e is_finite elements complement is_any + +let specials = [ QName.document; QName.text; QName.text ] +let notstar = from_list specials +let star = diff any notstar +let node = any +let text = singleton QName.text module Weak = struct include FiniteCofinite.Weak(Ptset.Weak(QName)) - let print fmt e = printer fmt e is_finite elements complement + let print fmt e = printer fmt e is_finite elements complement is_any + let notstar = from_list specials + let star = diff any notstar + let node = any + let text = singleton QName.text end