Flatten the sources, only leave the XPath module packed.
[tatoo.git] / src / qName.mli
1 (***********************************************************************)
2 (*                                                                     *)
3 (*                               TAToo                                 *)
4 (*                                                                     *)
5 (*                     Kim Nguyen, LRI UMR8623                         *)
6 (*                   Université Paris-Sud & CNRS                       *)
7 (*                                                                     *)
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   *)
12 (*  ../LICENSE.                                                        *)
13 (*                                                                     *)
14 (***********************************************************************)
15
16 (*
17   Time-stamp: <Last modified on 2013-03-10 23:02:12 CET by Kim Nguyen>
18 *)
19
20 (** Implementation of qualified names as hashconsed strings *)
21
22 include Hcons.S with type data = string
23 include Common_sig.Printable with type t := t
24
25
26 val of_string : string -> t
27 (** Utility function, equivalent to [make] *)
28
29 val to_string : t -> string
30 (** Utility function, equivalent to [node] *)
31
32
33 (** Special constants, that denote the QName of nodes that are not
34     elements (using the nodeValue property of DOM for such nodes.
35 *)
36
37 val document : t
38 (** Represents the QName of a document node. Equivalent to
39     [of_string "#document"]
40 *)
41
42 val text : t
43 (** Represents the QName of a text node. Equivalent to
44     [of_string "#text"]
45 *)
46
47 val comment : t
48 (** Represents the QName of a comment node. Equivalent to
49     [of_string "#comment"]
50 *)
51
52 val nil : t
53 (** Represents the QName of a nil node. Equivalent to
54     [of_string "#"]
55 *)
56
57 val attribute : t -> t
58 (** Adds a prefix character (@) to distinguish the name
59     from an element name
60 *)
61
62 val processing_instruction : t -> t
63 (** Adds a prefix character (?) to distinguish the name
64     from an element name
65 *)
66
67 val remove_prefix : t -> t
68 (** Removes the prefix of the qname given as argument. Does not
69     do anything if there is no prefix.
70 *)