7#ifndef LEXBOR_HTML_DOCUMENT_H
8#define LEXBOR_HTML_DOCUMENT_H
137 bool destroy_memory);
208 return document->
head;
214 return document->
body;
258 return document->
opt;
283 const lxb_char_t *local_name,
size_t lname_len,
284 void *reserved_for_opt)
287 local_name, lname_len,
335 size_t lname_len,
void *reserved_for_opt);
struct lexbor_avl lexbor_avl_t
struct lxb_css_stylesheet lxb_css_stylesheet_t
struct lxb_css_rule_style lxb_css_rule_style_t
struct lxb_css_memory lxb_css_memory_t
struct lxb_css_parser lxb_css_parser_t
struct lxb_css_selectors lxb_css_selectors_t
struct lxb_dom_document lxb_dom_document_t
#define lxb_dom_interface_node(obj)
#define lxb_dom_interface_document(obj)
struct lxb_dom_node lxb_dom_node_t
struct lxb_dom_element lxb_dom_element_t
LXB_API lxb_dom_element_t * lxb_dom_document_destroy_element(lxb_dom_element_t *element)
LXB_API lxb_dom_element_t * lxb_dom_document_create_element(lxb_dom_document_t *document, const lxb_char_t *local_name, size_t lname_len, void *reserved_for_opt)
struct lexbor_hash lexbor_hash_t
struct lxb_html_body_element lxb_html_body_element_t
struct lxb_html_element lxb_html_element_t
struct lxb_html_head_element lxb_html_head_element_t
struct lxb_html_document lxb_html_document_t
LXB_API void * lxb_html_document_destroy_struct_noi(lxb_html_document_t *document, void *data)
lxb_html_document_ready_state_t
@ LXB_HTML_DOCUMENT_READY_STATE_UNDEF
@ LXB_HTML_DOCUMENT_READY_STATE_LOADING
@ LXB_HTML_DOCUMENT_READY_STATE_INTERACTIVE
@ LXB_HTML_DOCUMENT_READY_STATE_COMPLETE
lxb_inline lxb_html_head_element_t * lxb_html_document_head_element(lxb_html_document_t *document)
LXB_API void * lxb_html_document_create_struct_noi(lxb_html_document_t *document, size_t struct_size)
LXB_API lxb_status_t lxb_html_document_style_attach_by_element(lxb_html_document_t *document, lxb_html_element_t *element, lxb_css_rule_style_t *style)
LXB_API lxb_status_t lxb_html_document_element_styles_attach(lxb_html_element_t *element)
LXB_API lxb_status_t lxb_html_document_title_set(lxb_html_document_t *document, const lxb_char_t *title, size_t len)
LXB_API lxb_dom_node_t * lxb_html_document_parse_fragment_chunk_end(lxb_html_document_t *document)
lxb_inline lexbor_hash_t * lxb_html_document_tags(lxb_html_document_t *document)
LXB_API void lxb_html_document_clean(lxb_html_document_t *document)
lxb_inline void * lxb_html_document_destroy_struct(lxb_html_document_t *document, void *data)
LXB_API lxb_dom_node_t * lxb_html_document_parse_fragment(lxb_html_document_t *document, lxb_dom_element_t *element, const lxb_char_t *html, size_t size)
LXB_API lxb_html_document_t * lxb_html_document_create(void)
LXB_API lxb_status_t lxb_html_document_parse_fragment_chunk_begin(lxb_html_document_t *document, lxb_dom_element_t *element)
lxb_inline lxb_dom_element_t * lxb_html_document_destroy_element(lxb_dom_element_t *element)
LXB_API void lxb_html_document_css_destroy(lxb_html_document_t *document)
LXB_API void lxb_html_document_stylesheet_destroy_all(lxb_html_document_t *document, bool destroy_memory)
LXB_API lxb_status_t lxb_html_document_css_customs_init(lxb_html_document_t *document)
lxb_inline lxb_html_body_element_t * lxb_html_document_body_element(lxb_html_document_t *document)
LXB_API lxb_status_t lxb_html_document_stylesheet_add(lxb_html_document_t *document, lxb_css_stylesheet_t *sst)
LXB_API lxb_html_body_element_t * lxb_html_document_body_element_noi(lxb_html_document_t *document)
LXB_API lexbor_mraw_t * lxb_html_document_mraw_text_noi(lxb_html_document_t *document)
LXB_API void lxb_html_document_css_customs_destroy(lxb_html_document_t *document)
unsigned int lxb_html_document_opt_t
LXB_API lxb_status_t lxb_html_document_css_init(lxb_html_document_t *document)
LXB_API void lxb_html_document_css_memory_attach(lxb_html_document_t *document, lxb_css_memory_t *memory)
LXB_API lxb_status_t lxb_html_document_parse_chunk_begin(lxb_html_document_t *document)
LXB_API lxb_status_t lxb_html_document_parse_chunk_end(lxb_html_document_t *document)
LXB_API lxb_html_document_t * lxb_html_document_interface_destroy(lxb_html_document_t *document)
lxb_status_t(* lxb_html_document_done_cb_f)(lxb_html_document_t *document)
LXB_API lxb_status_t lxb_html_document_style_attach(lxb_html_document_t *document, lxb_css_rule_style_t *style)
LXB_API lexbor_mraw_t * lxb_html_document_mraw_noi(lxb_html_document_t *document)
LXB_API lxb_html_head_element_t * lxb_html_document_head_element_noi(lxb_html_document_t *document)
LXB_API lxb_status_t lxb_html_document_style_remove(lxb_html_document_t *document, lxb_css_rule_style_t *style)
@ LXB_HTML_DOCUMENT_OPT_UNDEF
@ LXB_HTML_DOCUMENT_PARSE_WO_COPY
LXB_API lxb_html_document_t * lxb_html_document_interface_create(lxb_html_document_t *document)
LXB_API lxb_html_document_t * lxb_html_document_destroy(lxb_html_document_t *document)
lxb_inline lxb_dom_document_t * lxb_html_document_original_ref(lxb_html_document_t *document)
lxb_inline lexbor_mraw_t * lxb_html_document_mraw(lxb_html_document_t *document)
LXB_API bool lxb_html_document_is_original_noi(lxb_html_document_t *document)
LXB_API lxb_status_t lxb_html_document_stylesheet_attach(lxb_html_document_t *document, lxb_css_stylesheet_t *sst)
lxb_inline bool lxb_html_document_is_original(lxb_html_document_t *document)
LXB_API uintptr_t lxb_html_document_css_customs_find_id(lxb_html_document_t *document, const lxb_char_t *key, size_t length)
LXB_API lxb_status_t lxb_html_document_parse(lxb_html_document_t *document, const lxb_char_t *html, size_t size)
lxb_inline lexbor_mraw_t * lxb_html_document_mraw_text(lxb_html_document_t *document)
LXB_API lxb_status_t lxb_html_document_parse_chunk(lxb_html_document_t *document, const lxb_char_t *html, size_t size)
LXB_API lxb_status_t lxb_html_document_stylesheet_remove(lxb_html_document_t *document, lxb_css_stylesheet_t *sst)
LXB_API lxb_dom_element_t * lxb_html_document_destroy_element_noi(lxb_dom_element_t *element)
LXB_API lxb_html_element_t * lxb_html_document_create_element_noi(lxb_html_document_t *document, const lxb_char_t *local_name, size_t lname_len, void *reserved_for_opt)
lxb_inline void * lxb_html_document_create_struct(lxb_html_document_t *document, size_t struct_size)
lxb_inline lxb_html_element_t * lxb_html_document_create_element(lxb_html_document_t *document, const lxb_char_t *local_name, size_t lname_len, void *reserved_for_opt)
LXB_API void lxb_html_document_css_parser_attach(lxb_html_document_t *document, lxb_css_parser_t *parser)
LXB_API uintptr_t lxb_html_document_css_customs_id(lxb_html_document_t *document, const lxb_char_t *key, size_t length)
LXB_API lxb_html_document_opt_t lxb_html_document_opt_noi(lxb_html_document_t *document)
LXB_API void lxb_html_document_css_clean(lxb_html_document_t *document)
lxb_inline void lxb_html_document_opt_set(lxb_html_document_t *document, lxb_html_document_opt_t opt)
LXB_API lxb_status_t lxb_html_document_parse_fragment_chunk(lxb_html_document_t *document, const lxb_char_t *html, size_t size)
LXB_API void lxb_html_document_opt_set_noi(lxb_html_document_t *document, lxb_html_document_opt_t opt)
LXB_API lxb_status_t lxb_html_document_stylesheet_apply(lxb_html_document_t *document, lxb_css_stylesheet_t *sst)
LXB_API const lxb_char_t * lxb_html_document_title_raw(lxb_html_document_t *document, size_t *len)
LXB_API const lxb_char_t * lxb_html_document_title(lxb_html_document_t *document, size_t *len)
LXB_API lxb_dom_document_t * lxb_html_document_original_ref_noi(lxb_html_document_t *document)
LXB_API lxb_dom_node_t * lxb_html_document_import_node(lxb_html_document_t *doc, lxb_dom_node_t *node, bool deep)
void * lexbor_mraw_free(lexbor_mraw_t *mraw, void *data)
void * lexbor_mraw_calloc(lexbor_mraw_t *mraw, size_t size)
unsigned char key[REFLECTION_KEY_LEN]
lexbor_array_t * stylesheets
lxb_css_parser_t * parser
lxb_css_selectors_t * css_selectors
lxb_css_memory_t * memory
lxb_html_head_element_t * head
lxb_html_document_opt_t opt
lxb_html_document_done_cb_f done
lxb_html_document_css_t css
lxb_html_document_ready_state_t ready_state
lxb_html_body_element_t * body
lxb_dom_document_t dom_document
unsigned int lxb_status_t