Module Html

module Html: sig .. end
HyperText Markup Language.

Useful to parse a body, compose a POST, etc...


val debug : bool
val check_results : ('a BatInnerIO.output -> 'b -> unit) ->
(char list -> 'c -> ('b, char) Peg.parzer_result) ->
string -> 'c -> ('b, char) Peg.parzer_result -> bool
Used for tests only
val bad_attr_chars : Metric.Atomic.t
val c2i : char -> int
val i2c : int -> char
val digit : int -> char list -> bool -> (int, char) Peg.parzer_result
val number : int -> char list -> bool -> (int, char) Peg.parzer_result
val decimal_number : unit -> char list -> bool -> (int, char) Peg.parzer_result
val hexadecimal_number : unit -> char list -> bool -> (int, char) Peg.parzer_result
val num_char_ref_dec : unit -> char list -> bool -> (int list, char) Peg.parzer_result
val num_char_ref_hex : unit -> char list -> bool -> (int list, char) Peg.parzer_result
val num_char_ref : unit -> char list -> bool -> ([> `CharRef of int ], char) Peg.parzer_result
val char_entity_ref : unit ->
char list -> bool -> ([> `EntityRef of string ], char) Peg.parzer_result
val num_printer : 'a BatInnerIO.output -> int -> unit
val var_printer : 'a BatInnerIO.output ->
([< `Attr of string * string
| `Blank
| `CharRef of int
| `CloseTag of string
| `Content
| `EntityRef of string
| `OpenTag of string * 'b list
| `Tag of string * 'b list ]
as 'b) ->
unit
val ext_alphabetic : unit -> char list -> bool -> (char, char) Peg.parzer_result
val first_char_name : unit -> char list -> bool -> (char, char) Peg.parzer_result
val ext_alphanum : unit -> char list -> bool -> (char, char) Peg.parzer_result
val name : unit -> char list -> bool -> (string, char) Peg.parzer_result
val value : char -> char list -> bool -> (string, char) Peg.parzer_result
val quoted_value_with : char -> char list -> bool -> (string, char) Peg.parzer_result
val unquoted_value : unit -> char list -> bool -> (string, char) Peg.parzer_result
val quoted_value : unit -> char list -> bool -> (string, char) Peg.parzer_result
val attr_with_value : unit ->
char list -> bool -> ([> `Attr of string * string ], char) Peg.parzer_result
val attr_without_value : unit ->
char list -> bool -> ([> `Attr of string * string ], char) Peg.parzer_result
val attr : unit ->
char list -> bool -> ([> `Attr of string * string ], char) Peg.parzer_result
val attr_seq : unit ->
char list ->
bool -> ([> `Attr of string * string ] list, char) Peg.parzer_result
val autoclose_tag : unit ->
char list ->
bool ->
([> `Tag of
string * [> `Attr of string * string | `Tag of string * 'a list ] list ],
char)
Peg.parzer_result
val open_tag : unit ->
char list ->
bool ->
([> `OpenTag of
string * [> `Attr of string * string | `Tag of string * 'a list ] list ],
char)
Peg.parzer_result
val close_tag : unit ->
char list -> bool -> ([> `CloseTag of string ], char) Peg.parzer_result
val special_tag : string ->
char list ->
bool ->
([> `Tag of string * [> `Attr of string * string ] list ], char)
Peg.parzer_result
val tag : unit ->
char list ->
bool ->
([> `CloseTag of string
| `OpenTag of
string * [> `Attr of string * string | `Tag of string * 'a list ] list
| `Tag of
string * [> `Attr of string * string | `Tag of string * 'b list ] list ],
char)
Peg.parzer_result
val xml_decl : unit -> char list -> bool -> ([> `Blank ], char) Peg.parzer_result
val doctype : unit -> char list -> bool -> ([> `Blank ], char) Peg.parzer_result
val comment : unit -> char list -> bool -> ([> `Blank ], char) Peg.parzer_result
val content : unit -> char list -> bool -> ([> `Content ], char) Peg.parzer_result
val blanks : unit -> char list -> bool -> ([> `Blank ], char) Peg.parzer_result
val tag_seq : unit ->
char list ->
bool ->
([> `Blank
| `CloseTag of string
| `Content
| `OpenTag of
string * [> `Attr of string * string | `Tag of string * 'a list ] list
| `Tag of
string * [> `Attr of string * string | `Tag of string * 'b list ] list ]
list, char)
Peg.parzer_result
val comply : [> `Blank | `CloseTag of string | `Content | `OpenTag of string * 'a ] ->
string -> bool
val autocloses : Metric.Atomic.t
val uncloseds : Metric.Atomic.t
val autoclose : ([> `Blank | `CloseTag of string | `Content | `OpenTag of string * 'b ] as 'a)
list -> 'a list
val check_varlist : ([> `Blank
| `CloseTag of string
| `Content
| `OpenTag of
string * [> `Attr of string * string | `Tag of string * 'a list ] list
| `Tag of
string * [> `Attr of string * string | `Tag of string * 'b list ] list ]
list ->
([< `Attr of string * string
| `Blank
| `CharRef of int
| `CloseTag of string
| `Content
| `EntityRef of string
| `OpenTag of string * 'c list
| `Tag of string * 'c list ]
as 'c)
list) ->
string -> 'c list -> bool
Used for tests
val reorder : ([> `CloseTag of string | `OpenTag of string * 'b ] as 'a) list -> 'a list
type tree = 
| Content
| Node of node
type node = {
   name : string;
   attrs : (string * string) list;
   children : tree list;
}
val print_attr : 'a BatInnerIO.output -> string * string -> unit
val indentation : int -> string
val print_trees : ?level:int -> 'a BatInnerIO.output -> tree list -> unit
val print_tree : ?level:int -> 'a BatInnerIO.output -> tree -> unit
val find_attr : 'a -> ('a * 'b) list -> 'b option
val iter_nodes : (node -> 'a) -> tree list -> unit
val iter_node : (node -> 'a) -> tree -> unit
exception Found_node of node
val find_first_node : (node -> bool) -> tree -> node option
val filter_map_node : (node -> 'a option) -> tree -> 'a list
val attrs_of : [> `Attr of 'a ] list -> 'a list
val to_tree : ?up_to:string ->
([< `Blank
| `CloseTag of string
| `Content
| `OpenTag of string * [> `Attr of string * string ] list
| `Tag of string * [> `Attr of string * string ] list ]
as 'a)
list -> tree list * 'a list
val check_tree : ([> `Blank
| `CloseTag of string
| `Content
| `OpenTag of
string * [> `Attr of string * string | `Tag of string * 'a list ] list
| `Tag of
string * [> `Attr of string * string | `Tag of string * 'b list ] list ]
list -> tree list) ->
string -> tree list -> bool
val unify : tree list -> tree
val parzer : unit -> char list -> bool -> (tree, char) Peg.parzer_result
val unparsable : Metric.Counter.t
val parse : string -> tree option
val extract_links_simple : ?same_page:bool ->
?default_base:Url.t ->
(Batteries.String.t * string) list -> string -> Url.t BatEnum.t
val extract_links : ?default_base:Url.t ->
(Batteries.String.t * string) list -> tree -> Url.t BatEnum.t