OCaml HTML5 parser/serialiser based on Python's JustHTML
1(** Common attribute utilities used across checkers. *)
2
3type attrs = (string * string) list
4
5let has_attr name attrs =
6 List.exists (fun (n, _) -> String.lowercase_ascii n = name) attrs
7
8let get_attr name attrs =
9 List.find_map (fun (n, v) ->
10 if String.lowercase_ascii n = name then Some v else None
11 ) attrs
12
13let get_attr_or name ~default attrs =
14 Option.value ~default (get_attr name attrs)
15
16let is_non_empty_attr name attrs =
17 match get_attr name attrs with
18 | Some v -> String.trim v <> ""
19 | None -> false