47 new->type = doc->
type;
48 new->user = doc->
user;
81 if (document ==
NULL) {
104 document->
ns = owner->
ns;
201 if (document ==
NULL) {
239 const lxb_char_t *local_name,
size_t lname_len,
240 void *reserved_for_opt)
248 ns_link = (
const lxb_char_t *)
"http://www.w3.org/1999/xhtml";
251 ns_len =
strlen((
const char *) ns_link);
259 ns_link, ns_len,
NULL, 0,
NULL, 0,
true);
287 if (
text->char_data.data.data ==
NULL) {
308 if ((
end -
ch) < 3) {
312 if(memcmp(
ch,
"]]>", 3) == 0) {
328 if (
cdata->text.char_data.data.data ==
NULL) {
351 if ((
end -
ch) < 2) {
355 if(memcmp(
ch,
"?>", 2) == 0) {
371 if (
pi->char_data.data.data ==
NULL) {
376 if (
pi->target.data ==
NULL) {
397 if (comment ==
NULL) {
419 while (node !=
NULL) {
450 while (node !=
NULL) {
463 while (node->
next ==
NULL && node != root) {
lxb_dom_cdata_section_t * lxb_dom_cdata_section_interface_destroy(lxb_dom_cdata_section_t *cdata_section)
lxb_dom_cdata_section_t * lxb_dom_cdata_section_interface_create(lxb_dom_document_t *document)
@ LXB_STATUS_ERROR_OBJECT_IS_NULL
lxb_dom_document_fragment_t * lxb_dom_document_fragment_interface_create(lxb_dom_document_t *document)
struct lxb_dom_document_fragment lxb_dom_document_fragment_t
lxb_dom_interface_t *(* lxb_dom_interface_create_f)(lxb_dom_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
struct lxb_dom_document lxb_dom_document_t
struct lxb_dom_document_type lxb_dom_document_type_t
lxb_dom_interface_t *(* lxb_dom_interface_clone_f)(lxb_dom_document_t *document, const lxb_dom_interface_t *intrfc)
#define lxb_dom_interface_node(obj)
struct lxb_dom_comment lxb_dom_comment_t
struct lxb_dom_cdata_section lxb_dom_cdata_section_t
struct lxb_dom_node lxb_dom_node_t
struct lxb_dom_processing_instruction lxb_dom_processing_instruction_t
lxb_dom_interface_t *(* lxb_dom_interface_destroy_f)(lxb_dom_interface_t *intrfc)
struct lxb_dom_text lxb_dom_text_t
struct lxb_dom_element lxb_dom_element_t
lxb_inline lxb_dom_element_t * lxb_dom_document_element(lxb_dom_document_t *document)
lxb_inline bool lxb_dom_document_scripting(lxb_dom_document_t *document)
lxb_inline lxb_char_t * lxb_dom_document_create_text(lxb_dom_document_t *document, size_t len)
lxb_inline lxb_dom_interface_t * lxb_dom_document_create_interface(lxb_dom_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
lxb_inline void * lxb_dom_document_create_struct(lxb_dom_document_t *document, size_t struct_size)
lxb_inline void lxb_dom_document_scripting_set(lxb_dom_document_t *document, bool scripting)
lxb_inline lxb_dom_interface_t * lxb_dom_document_destroy_interface(lxb_dom_interface_t *intrfc)
lxb_inline void * lxb_dom_document_destroy_struct(lxb_dom_document_t *document, void *structure)
lxb_inline void * lxb_dom_document_destroy_text(lxb_dom_document_t *document, lxb_char_t *text)
@ LXB_DOM_DOCUMENT_DTYPE_UNDEF
@ LXB_DOM_DOCUMENT_DTYPE_HTML
@ LXB_DOM_NODE_TYPE_DOCUMENT
void lexbor_hash_clean(lexbor_hash_t *hash)
lxb_status_t lexbor_hash_init(lexbor_hash_t *hash, size_t table_size, size_t struct_size)
lexbor_hash_t * lexbor_hash_create(void)
lexbor_hash_t * lexbor_hash_destroy(lexbor_hash_t *hash, bool destroy_obj)
lxb_dom_interface_t * lxb_dom_interface_clone(lxb_dom_document_t *document, const lxb_dom_interface_t *intrfc)
lxb_dom_interface_t * lxb_dom_interface_destroy(lxb_dom_interface_t *intrfc)
lxb_dom_interface_t * lxb_dom_interface_create(lxb_dom_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
lxb_dom_interface_t * lxb_dom_document_create_interface_noi(lxb_dom_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
lxb_char_t * lxb_dom_document_create_text_noi(lxb_dom_document_t *document, size_t len)
lxb_dom_document_t * lxb_dom_document_interface_destroy(lxb_dom_document_t *document)
lxb_status_t lxb_dom_document_clean(lxb_dom_document_t *document)
lxb_dom_element_t * lxb_dom_document_destroy_element(lxb_dom_element_t *element)
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)
lxb_dom_processing_instruction_t * lxb_dom_document_create_processing_instruction(lxb_dom_document_t *document, const lxb_char_t *target, size_t target_len, const lxb_char_t *data, size_t data_len)
void lxb_dom_document_scripting_set_noi(lxb_dom_document_t *document, bool scripting)
bool lxb_dom_document_scripting_noi(lxb_dom_document_t *document)
lxb_dom_element_t * lxb_dom_document_element_noi(lxb_dom_document_t *document)
lxb_dom_interface_t * lxb_dom_document_destroy_interface_noi(lxb_dom_interface_t *intrfc)
lxb_dom_document_t * lxb_dom_document_destroy(lxb_dom_document_t *document)
lxb_dom_cdata_section_t * lxb_dom_document_create_cdata_section(lxb_dom_document_t *document, const lxb_char_t *data, size_t len)
lxb_dom_node_t * lxb_dom_document_import_node(lxb_dom_document_t *doc, lxb_dom_node_t *node, bool deep)
void lxb_dom_document_attach_doctype(lxb_dom_document_t *document, lxb_dom_document_type_t *doctype)
lxb_dom_comment_t * lxb_dom_document_create_comment(lxb_dom_document_t *document, const lxb_char_t *data, size_t len)
lxb_dom_document_fragment_t * lxb_dom_document_create_document_fragment(lxb_dom_document_t *document)
lxb_dom_document_t * lxb_dom_document_create(lxb_dom_document_t *owner)
lxb_dom_document_t * lxb_dom_document_interface_clone(lxb_dom_document_t *document, const lxb_dom_document_t *doc)
void * lxb_dom_document_destroy_struct_noi(lxb_dom_document_t *document, void *structure)
lxb_dom_node_t * lxb_dom_document_root(lxb_dom_document_t *document)
lxb_dom_document_t * lxb_dom_document_interface_create(lxb_dom_document_t *document)
lxb_status_t lxb_dom_document_init(lxb_dom_document_t *document, lxb_dom_document_t *owner, lxb_dom_interface_create_f create_interface, lxb_dom_interface_clone_f clone_interface, lxb_dom_interface_destroy_f destroy_interface, lxb_dom_document_dtype_t type, unsigned int ns)
lxb_dom_text_t * lxb_dom_document_create_text_node(lxb_dom_document_t *document, const lxb_char_t *data, size_t len)
void * lxb_dom_document_create_struct_noi(lxb_dom_document_t *document, size_t struct_size)
void lxb_dom_document_attach_element(lxb_dom_document_t *document, lxb_dom_element_t *element)
void * lxb_dom_document_destroy_text_noi(lxb_dom_document_t *document, lxb_char_t *text)
lxb_dom_element_t * lxb_dom_element_create(lxb_dom_document_t *document, const lxb_char_t *local_name, size_t lname_len, const lxb_char_t *ns_link, size_t ns_len, const lxb_char_t *prefix, size_t prefix_len, const lxb_char_t *is, size_t is_len, bool sync_custom)
lxb_dom_element_t * lxb_dom_element_destroy(lxb_dom_element_t *element)
void lxb_dom_node_insert_child(lxb_dom_node_t *to, lxb_dom_node_t *node)
lxb_dom_node_t * lxb_dom_node_interface_destroy(lxb_dom_node_t *node)
LXB_API void * lexbor_free(void *dst)
LXB_API void * lexbor_calloc(size_t num, size_t size)
lexbor_mraw_t * lexbor_mraw_create(void)
void * lexbor_mraw_free(lexbor_mraw_t *mraw, void *data)
void lexbor_mraw_clean(lexbor_mraw_t *mraw)
lxb_status_t lexbor_mraw_init(lexbor_mraw_t *mraw, size_t chunk_size)
void * lexbor_mraw_calloc(lexbor_mraw_t *mraw, size_t size)
lexbor_mraw_t * lexbor_mraw_destroy(lexbor_mraw_t *mraw, bool destroy_self)
unsigned const char * end
unsigned const char * text
lxb_dom_processing_instruction_t * lxb_dom_processing_instruction_interface_destroy(lxb_dom_processing_instruction_t *processing_instruction)
lxb_dom_processing_instruction_t * lxb_dom_processing_instruction_interface_create(lxb_dom_document_t *document)
lxb_char_t * lexbor_str_append(lexbor_str_t *str, lexbor_mraw_t *mraw, const lxb_char_t *buff, size_t length)
lxb_char_t * lexbor_str_init(lexbor_str_t *str, lexbor_mraw_t *mraw, size_t size)
lexbor_str_t * lexbor_str_destroy(lexbor_str_t *str, lexbor_mraw_t *mraw, bool destroy_obj)
lxb_dom_document_cmode_t compat_mode
lxb_dom_document_type_t * doctype
lxb_dom_event_remove_f ev_remove
lxb_dom_interface_create_f create_interface
lxb_dom_interface_destroy_f destroy_interface
lxb_dom_document_dtype_t type
lxb_dom_event_insert_f ev_insert
lxb_dom_event_destroy_f ev_destroy
lxb_dom_interface_clone_f clone_interface
lxb_dom_element_t * element
lxb_dom_node_t * first_child
lxb_dom_document_t * owner_document
lxb_dom_node_t * last_child
unsigned int lxb_status_t
ZEND_API void(ZEND_FASTCALL *zend_touch_vm_stack_data)(void *vm_stack_data)