7#define LEXBOR_TOKENIZER_CHARS_MAP
126 if (lexbor_tokenizer_chars_map[*
pos]
152 if (comment ==
NULL) {
181 if (temp_node !=
NULL) {
267 if (element ==
NULL) {
287 if (it_is ==
false) {
308 if (body_node ==
NULL) {
315 if (it_is ==
false) {
332 if (body_node ==
NULL) {
339 if (it_is ==
false) {
362 if (body_node !=
NULL) {
367 if (element ==
NULL) {
412 if (element ==
NULL) {
438 if (element ==
NULL) {
474 if (element ==
NULL) {
539 if (element ==
NULL) {
619 if (element ==
NULL) {
642 if (element ==
NULL) {
679 if (element ==
NULL) {
810 if (element ==
NULL) {
953 if (element ==
NULL) {
983 if (element ==
NULL) {
1033 if (element ==
NULL) {
1086 if (element ==
NULL) {
1155 if (element ==
NULL) {
1182 if (element ==
NULL) {
1220 if (element ==
NULL) {
1255 if (element ==
NULL) {
1281 if (element ==
NULL) {
1313 if (element ==
NULL) {
1352 if (element ==
NULL) {
1370 if (element ==
NULL) {
1386 if (element ==
NULL) {
1407 if (element ==
NULL) {
1451 if (element ==
NULL) {
1484 if (element ==
NULL) {
1520 if (element ==
NULL) {
1543 if (element ==
NULL) {
1574 if (element ==
NULL) {
1617 if (element ==
NULL) {
1637 if (element ==
NULL) {
lxb_inline size_t lexbor_array_obj_length(lexbor_array_obj_t *array)
@ LXB_STATUS_ERROR_MEMORY_ALLOCATION
#define lxb_dom_interface_element(obj)
#define lxb_dom_interface_node(obj)
struct lxb_dom_comment lxb_dom_comment_t
#define lxb_dom_interface_document(obj)
struct lxb_dom_node lxb_dom_node_t
struct lxb_dom_attr lxb_dom_attr_t
struct lxb_dom_element lxb_dom_element_t
@ LXB_DOM_DOCUMENT_CMODE_QUIRKS
struct lxb_html_tree lxb_html_tree_t
#define lxb_html_interface_form(obj)
struct lxb_html_element lxb_html_element_t
@ LXB_HTML_TAG_CATEGORY_SCOPE_BUTTON
@ LXB_HTML_TAG_CATEGORY_SCOPE_LIST_ITEM
@ LXB_HTML_TAG_CATEGORY_SPECIAL
@ LXB_HTML_TAG_CATEGORY_SCOPE
lxb_inline bool lxb_html_tag_is_category(lxb_tag_id_t tag_id, lxb_ns_id_t ns, lxb_html_tag_category_t cat)
lxb_status_t lxb_html_token_make_text_drop_null(lxb_html_token_t *token, lexbor_str_t *str, lexbor_mraw_t *mraw)
lxb_status_t lxb_html_token_make_text(lxb_html_token_t *token, lexbor_str_t *str, lexbor_mraw_t *mraw)
lxb_status_t lxb_html_token_data_skip_one_newline_begin(lxb_html_token_t *token)
@ LXB_HTML_TOKEN_TYPE_CLOSE
@ LXB_HTML_TOKEN_TYPE_CLOSE_SELF
const lxb_char_t * lxb_html_tokenizer_state_plaintext_before(lxb_html_tokenizer_t *tkz, const lxb_char_t *data, const lxb_char_t *end)
lxb_inline void lxb_html_tokenizer_state_set(lxb_html_tokenizer_t *tkz, lxb_html_tokenizer_state_f state)
lxb_inline void lxb_html_tokenizer_tmp_tag_id_set(lxb_html_tokenizer_t *tkz, lxb_tag_id_t tag_id)
@ LXB_HTML_RULES_ERROR_NUCH
@ LXB_HTML_RULES_ERROR_UNCLTO
@ LXB_HTML_RULES_ERROR_UNELINOPELST
@ LXB_HTML_RULES_ERROR_UNTO
@ LXB_HTML_RULES_ERROR_MIELINOPELST
@ LXB_HTML_RULES_ERROR_NOBOELINSC
@ LXB_HTML_RULES_ERROR_DOTOINBOMO
@ LXB_HTML_RULES_ERROR_BAENOPELISWR
@ LXB_HTML_RULES_ERROR_UNELINACFOST
@ LXB_HTML_RULES_ERROR_UNELINSC
@ LXB_HTML_RULES_ERROR_OPELISWR
lxb_inline bool lxb_html_tree_insertion_mode_in_body_body_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
bool lxb_html_tree_insertion_mode_in_body_skip_new_line(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_svg(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_status_t lxb_html_tree_insertion_mode_in_body_text_append(lxb_html_tree_t *tree, lexbor_str_t *str)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_dd_dt(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_br_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_amo_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_p_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_hr(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_abcdfhlmnopsu_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_abcdfhmnopsu(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_body(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_blmnst(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_eof(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_xmp(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_anything_else(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_math(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_plaintext(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_li(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_html_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_select(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_amo(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_form(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_form_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_table(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_image(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_anything_else_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_a(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_bcefistu(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_rprt(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_pre_listing(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_noscript(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_textarea(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_iframe(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_doctype(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_noembed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_comment(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_li_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_dd_dt_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_text(lxb_html_tree_t *tree, lxb_html_token_t *token)
bool lxb_html_tree_insertion_mode_in_body_skip_new_line_textarea(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_html(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_button(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_nobr(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_abcefinstu_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_rbrtc(lxb_html_tree_t *tree, lxb_html_token_t *token)
bool lxb_html_tree_insertion_mode_in_body(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_abeikw(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_h123456_closed(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_h123456(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_optopt(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_input(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_pst(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_cfht(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_insertion_mode_in_body_frameset(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_after_body(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_head(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_caption(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_body_skip_new_line_textarea(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_table_body(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_select(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_cell(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_body_skip_new_line(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_table(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_template(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_select_in_table(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_row(lxb_html_tree_t *tree, lxb_html_token_t *token)
LXB_API bool lxb_html_tree_insertion_mode_in_frameset(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_dom_attr_t * lxb_dom_element_attr_is_exist(lxb_dom_element_t *element, const lxb_char_t *qualified_name, size_t length)
lxb_dom_node_t * lxb_html_tree_element_in_scope_by_node(lxb_html_tree_t *tree, lxb_dom_node_t *by_node, lxb_html_tag_category_t ct)
lxb_status_t lxb_html_tree_adjust_attributes_mathml(lxb_html_tree_t *tree, lxb_dom_attr_t *attr, void *ctx)
lxb_html_element_t * lxb_html_tree_insert_foreign_element(lxb_html_tree_t *tree, lxb_html_token_t *token, lxb_ns_id_t ns)
void lxb_html_tree_node_delete_deep(lxb_html_tree_t *tree, lxb_dom_node_t *node)
bool lxb_html_tree_process_abort(lxb_html_tree_t *tree)
void lxb_html_tree_close_p_element(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_dom_comment_t * lxb_html_tree_insert_comment(lxb_html_tree_t *tree, lxb_html_token_t *token, lxb_dom_node_t *pos)
lxb_html_element_t * lxb_html_tree_generic_rawtext_parsing(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_status_t lxb_html_tree_stop_parsing(lxb_html_tree_t *tree)
void lxb_html_tree_generate_implied_end_tags(lxb_html_tree_t *tree, lxb_tag_id_t ex_tag, lxb_ns_id_t ex_ns)
lxb_status_t lxb_html_tree_insert_character_for_data(lxb_html_tree_t *tree, lexbor_str_t *str, lxb_dom_node_t **ret_node)
bool lxb_html_tree_check_scope_element(lxb_html_tree_t *tree)
lxb_dom_node_t * lxb_html_tree_element_in_scope(lxb_html_tree_t *tree, lxb_tag_id_t tag_id, lxb_ns_id_t ns, lxb_html_tag_category_t ct)
lxb_status_t lxb_html_tree_adjust_attributes_svg(lxb_html_tree_t *tree, lxb_dom_attr_t *attr, void *ctx)
lxb_status_t lxb_html_tree_append_attributes(lxb_html_tree_t *tree, lxb_dom_element_t *element, lxb_html_token_t *token, lxb_ns_id_t ns)
void lxb_html_tree_parse_error(lxb_html_tree_t *tree, lxb_html_token_t *token, lxb_html_tree_error_id_t id)
lxb_dom_node_t * lxb_html_tree_element_in_scope_h123456(lxb_html_tree_t *tree)
bool lxb_html_tree_adoption_agency_algorithm(lxb_html_tree_t *tree, lxb_html_token_t *token, lxb_status_t *status)
void lxb_html_tree_open_elements_pop_until_h123456(lxb_html_tree_t *tree)
LXB_API void lxb_html_tree_open_elements_remove_by_node(lxb_html_tree_t *tree, lxb_dom_node_t *node)
lxb_dom_node_t * lxb_html_tree_open_elements_find(lxb_html_tree_t *tree, lxb_tag_id_t tag_id, lxb_ns_id_t ns, size_t *return_index)
lxb_dom_node_t * lxb_html_tree_open_elements_find_reverse(lxb_html_tree_t *tree, lxb_tag_id_t tag_id, lxb_ns_id_t ns, size_t *return_index)
void lxb_html_tree_open_elements_pop_until_node(lxb_html_tree_t *tree, lxb_dom_node_t *node, bool exclude)
void lxb_html_tree_open_elements_pop_until_tag_id(lxb_html_tree_t *tree, lxb_tag_id_t tag_id, lxb_ns_id_t ns, bool exclude)
lxb_inline lxb_dom_node_t * lxb_html_tree_open_elements_first(lxb_html_tree_t *tree)
lxb_inline lxb_dom_node_t * lxb_html_tree_open_elements_get(lxb_html_tree_t *tree, size_t idx)
lxb_inline lxb_dom_node_t * lxb_html_tree_open_elements_pop(lxb_html_tree_t *tree)
unsigned const char * end
unsigned const char * pos
const lxb_char_t * lxb_html_tokenizer_state_rcdata_before(lxb_html_tokenizer_t *tkz, const lxb_char_t *data, const lxb_char_t *end)
bool lexbor_str_data_cmp(const lxb_char_t *first, const lxb_char_t *sec)
lexbor_str_t * lexbor_str_destroy(lexbor_str_t *str, lexbor_mraw_t *mraw, bool destroy_obj)
#define LEXBOR_STR_RES_MAP_CHAR_WHITESPACE
lxb_dom_document_t dom_document
lxb_html_token_type_t type
const lxb_char_t * text_end
const lxb_char_t * text_start
lxb_html_token_attr_t * attr_first
lxb_html_token_attr_t * attr_last
lxb_html_tree_append_attr_f before_append_attr
lxb_html_tree_insertion_mode_f original_mode
lexbor_array_obj_t * template_insertion_modes
lxb_html_tokenizer_t * tkz_ref
lxb_html_form_element_t * form
lxb_html_tree_insertion_mode_f mode
lexbor_array_t * open_elements
lxb_html_document_t * document
lxb_inline lxb_dom_node_t * lxb_html_tree_current_node(lxb_html_tree_t *tree)
lxb_inline void lxb_html_tree_acknowledge_token_self_closing(lxb_html_tree_t *tree, lxb_html_token_t *token)
lxb_inline bool lxb_html_tree_node_is(lxb_dom_node_t *node, lxb_tag_id_t tag_id)
lxb_inline lxb_html_element_t * lxb_html_tree_insert_html_element(lxb_html_tree_t *tree, lxb_html_token_t *token)
unsigned int lxb_status_t