16#define LXB_HTML_TAG_RES_DATA
17#define LXB_HTML_TAG_RES_SHS_DATA
124 if (document ==
NULL) {
192 if (new_doc ==
NULL) {
199 if (document ==
NULL) {
273 lxb_html_parse_fragment_chunk_destroy(parser);
294 lxb_html_parse_fragment_chunk_destroy(parser);
316 lxb_html_parse_fragment_chunk_destroy(parser);
385 if (document ==
NULL) {
@ LXB_STATUS_ERROR_MEMORY_ALLOCATION
@ LXB_STATUS_ERROR_OBJECT_IS_NULL
@ LXB_STATUS_ERROR_WRONG_STAGE
struct lxb_dom_document lxb_dom_document_t
#define lxb_dom_interface_element(obj)
#define lxb_dom_interface_node(obj)
#define lxb_dom_interface_document(obj)
struct lxb_dom_node lxb_dom_node_t
@ LXB_DOM_DOCUMENT_CMODE_NO_QUIRKS
lxb_dom_interface_t * lxb_html_interface_destroy(lxb_dom_interface_t *intrfc)
lxb_dom_interface_t * lxb_html_interface_create(lxb_html_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
lxb_status_t lxb_html_tokenizer_init(lxb_html_tokenizer_t *tkz)
lxb_html_tokenizer_t * lxb_html_tokenizer_unref(lxb_html_tokenizer_t *tkz)
lxb_html_tokenizer_t * lxb_html_tokenizer_create(void)
void lxb_html_tokenizer_set_state_by_tag(lxb_html_tokenizer_t *tkz, bool scripting, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
void lxb_html_tokenizer_clean(lxb_html_tokenizer_t *tkz)
struct lxb_html_tokenizer lxb_html_tokenizer_t
struct lxb_html_tree lxb_html_tree_t
#define lxb_html_interface_html(obj)
#define lxb_html_interface_form(obj)
struct lxb_html_element lxb_html_element_t
struct lxb_html_document lxb_html_document_t
lxb_inline bool lxb_html_document_is_original(lxb_html_document_t *document)
lxb_status_t lxb_html_parse_fragment_chunk_begin(lxb_html_parser_t *parser, lxb_html_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
lxb_html_tokenizer_t * lxb_html_parser_tokenizer_noi(lxb_html_parser_t *parser)
lxb_dom_node_t * lxb_html_parse_fragment_chunk_end(lxb_html_parser_t *parser)
lxb_dom_node_t * lxb_html_parse_fragment(lxb_html_parser_t *parser, lxb_html_element_t *element, const lxb_char_t *html, size_t size)
lxb_html_parser_t * lxb_html_parser_ref(lxb_html_parser_t *parser)
lxb_html_parser_t * lxb_html_parser_destroy(lxb_html_parser_t *parser)
lxb_status_t lxb_html_parse_chunk_end(lxb_html_parser_t *parser)
lxb_dom_node_t * lxb_html_parse_fragment_by_tag_id(lxb_html_parser_t *parser, lxb_html_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns, const lxb_char_t *html, size_t size)
lxb_status_t lxb_html_parse_chunk_process(lxb_html_parser_t *parser, const lxb_char_t *html, size_t size)
lxb_html_document_t * lxb_html_parse_chunk_begin(lxb_html_parser_t *parser)
LXB_API lxb_status_t lxb_html_parse_chunk_prepare(lxb_html_parser_t *parser, lxb_html_document_t *document)
void lxb_html_parser_clean(lxb_html_parser_t *parser)
lxb_status_t lxb_html_parser_state_noi(lxb_html_parser_t *parser)
lxb_html_document_t * lxb_html_parse(lxb_html_parser_t *parser, const lxb_char_t *html, size_t size)
lxb_status_t lxb_html_parser_init(lxb_html_parser_t *parser)
lxb_html_parser_t * lxb_html_parser_unref(lxb_html_parser_t *parser)
lxb_status_t lxb_html_parser_status_noi(lxb_html_parser_t *parser)
bool lxb_html_parser_scripting_noi(lxb_html_parser_t *parser)
lxb_status_t lxb_html_parse_fragment_chunk_process(lxb_html_parser_t *parser, const lxb_char_t *html, size_t size)
lxb_html_parser_t * lxb_html_parser_create(void)
lxb_html_tree_t * lxb_html_parser_tree_noi(lxb_html_parser_t *parser)
void lxb_html_parser_scripting_set_noi(lxb_html_parser_t *parser, bool scripting)
lxb_inline lxb_status_t lxb_html_parser_status(lxb_html_parser_t *parser)
lxb_inline lxb_html_tokenizer_t * lxb_html_parser_tokenizer(lxb_html_parser_t *parser)
lxb_inline bool lxb_html_parser_scripting(lxb_html_parser_t *parser)
lxb_inline lxb_html_tree_t * lxb_html_parser_tree(lxb_html_parser_t *parser)
@ LXB_HTML_PARSER_STATE_ERROR
@ LXB_HTML_PARSER_STATE_BEGIN
@ LXB_HTML_PARSER_STATE_END
@ LXB_HTML_PARSER_STATE_FRAGMENT_PROCESS
@ LXB_HTML_PARSER_STATE_PROCESS
lxb_inline void lxb_html_parser_scripting_set(lxb_html_parser_t *parser, bool scripting)
lxb_inline lxb_status_t lxb_html_parser_state(lxb_html_parser_t *parser)
lxb_inline void lxb_html_tokenizer_attrs_set(lxb_html_tokenizer_t *tkz, lexbor_hash_t *attrs)
lxb_inline void lxb_html_tokenizer_tree_set(lxb_html_tokenizer_t *tkz, lxb_html_tree_t *tree)
lxb_inline void lxb_html_tokenizer_tmp_tag_id_set(lxb_html_tokenizer_t *tkz, lxb_tag_id_t tag_id)
lxb_inline lxb_html_tree_t * lxb_html_tokenizer_tree(lxb_html_tokenizer_t *tkz)
lxb_inline void lxb_html_tokenizer_attrs_mraw_set(lxb_html_tokenizer_t *tkz, lexbor_mraw_t *mraw)
lxb_inline void lxb_html_tokenizer_tags_set(lxb_html_tokenizer_t *tkz, lexbor_hash_t *tags)
lxb_html_html_element_t * lxb_html_html_element_interface_destroy(lxb_html_html_element_t *html_element)
LXB_API bool lxb_html_tree_insertion_mode_in_template(lxb_html_tree_t *tree, lxb_html_token_t *token)
void lxb_dom_document_attach_element(lxb_dom_document_t *document, lxb_dom_element_t *element)
void lxb_dom_node_insert_child_wo_events(lxb_dom_node_t *to, lxb_dom_node_t *node)
lxb_html_document_t * lxb_html_document_interface_create(lxb_html_document_t *document)
lxb_html_document_t * lxb_html_document_destroy(lxb_html_document_t *document)
lxb_html_document_t * lxb_html_document_interface_destroy(lxb_html_document_t *document)
void lxb_html_tree_clean(lxb_html_tree_t *tree)
lxb_html_tree_t * lxb_html_tree_create(void)
lxb_html_tree_t * lxb_html_tree_unref(lxb_html_tree_t *tree)
lxb_status_t lxb_html_tree_init(lxb_html_tree_t *tree, lxb_html_tokenizer_t *tkz)
void lxb_html_tree_reset_insertion_mode_appropriately(lxb_html_tree_t *tree)
LXB_API void * lexbor_free(void *dst)
LXB_API void * lexbor_calloc(size_t num, size_t size)
lxb_inline lxb_status_t lxb_html_tree_open_elements_push(lxb_html_tree_t *tree, lxb_dom_node_t *node)
lxb_dom_document_cmode_t compat_mode
lxb_dom_document_t dom_document
lxb_dom_element_t element
lxb_html_tree_t * original_tree
lxb_html_parser_state_t state
lxb_html_tokenizer_t * tkz
lxb_html_form_element_t * form
lxb_html_document_t * document
lxb_dom_node_t * fragment
lxb_inline lxb_status_t lxb_html_tree_template_insertion_push(lxb_html_tree_t *tree, lxb_html_tree_insertion_mode_f mode)
lxb_inline void lxb_html_tree_attach_document(lxb_html_tree_t *tree, lxb_html_document_t *doc)
lxb_inline lxb_status_t lxb_html_tree_begin(lxb_html_tree_t *tree, lxb_html_document_t *document)
lxb_inline lxb_status_t lxb_html_tree_chunk(lxb_html_tree_t *tree, const lxb_char_t *html, size_t size)
lxb_inline lxb_status_t lxb_html_tree_end(lxb_html_tree_t *tree)
unsigned int lxb_status_t