1 (******************************************************************************)
5 (* A tactic to print Coq objects in XML *)
7 (* Claudio Sacerdoti Coen <sacerdot@cs.unibo.it> *)
10 (* This module defines a pretty-printer and the stream of commands to the pp *)
12 (******************************************************************************)
14 (* Tokens for XML cdata, empty elements and not-empty elements *)
17 (* Empty (element_name, [attrname1, value1 ; ... ; attrnamen, valuen] *)
18 (* NEmpty (element_name, [attrname1, value2 ; ... ; attrnamen, valuen], *)
22 | Empty of string * (string * string) list
23 | NEmpty of string * (string * string) list * token Stream.t
25 (* currified versions of the token constructors make the code more readable *)
26 val xml_empty : string -> (string * string) list -> token Stream.t
28 string -> (string * string) list -> token Stream.t -> token Stream.t
29 val xml_cdata : string -> token Stream.t
31 (* The pretty printer for streams of token *)
33 (* pp tokens None pretty prints the output on stdout *)
34 (* pp tokens (Some filename) pretty prints the output on the file filename *)
35 val pp : token Stream.t -> string option -> unit