(** Base checker module for HTML5 conformance checking. *)
module type S = sig
type state
val create : unit -> state
val reset : state -> unit
val start_element :
state ->
name:string ->
namespace:string option ->
attrs:(string * string) list ->
Message_collector.t ->
unit
val end_element :
state -> name:string -> namespace:string option -> Message_collector.t -> unit
val characters : state -> string -> Message_collector.t -> unit
val end_document : state -> Message_collector.t -> unit
end
type t = (module S)
(** No-operation checker implementation. *)
module Noop = struct
type state = unit
let create () = ()
let reset () = ()
let start_element () ~name:_ ~namespace:_ ~attrs:_ _ = ()
let end_element () ~name:_ ~namespace:_ _ = ()
let characters () _ _ = ()
let end_document () _ = ()
end
let noop () = (module Noop : S)