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