1 (***********************************************************************)
5 (* Kim Nguyen, LRI UMR8623 *)
6 (* Université Paris-Sud & CNRS *)
8 (* Copyright 2010-2012 Université Paris-Sud and Centre National de la *)
9 (* Recherche Scientifique. All rights reserved. This file is *)
10 (* distributed under the terms of the GNU Lesser General Public *)
11 (* License, with the special exception on linking described in file *)
14 (***********************************************************************)
16 include FiniteCofinite.Make(Ptset.Make(QName))
18 let print_finite fmt e conv =
19 Format.fprintf fmt "{";
20 Pretty.print_list ~sep:"," QName.print fmt (conv e);
21 Format.fprintf fmt "}"
23 let printer fmt e test conv inv is_any =
24 if test e then print_finite fmt e conv
26 let () = Format.fprintf fmt "%s" Pretty.big_sigma in
27 if not (is_any e) then begin Format.fprintf fmt "-";print_finite fmt (inv e) conv end
29 let print fmt e = printer fmt e is_finite elements complement is_any
31 let specials = [ QName.document; QName.text; QName.text ]
32 let notstar = from_list specials
33 let star = diff any notstar
35 let text = singleton QName.text
39 include FiniteCofinite.Weak(Ptset.Weak(QName))
40 let print fmt e = printer fmt e is_finite elements complement is_any
41 let notstar = from_list specials
42 let star = diff any notstar
44 let text = singleton QName.text