Lines Matching refs:attr

28     lxb_dom_attr_t *attr;  in lxb_dom_attr_interface_create()  local
30 attr = lexbor_mraw_calloc(document->mraw, sizeof(lxb_dom_attr_t)); in lxb_dom_attr_interface_create()
31 if (attr == NULL) { in lxb_dom_attr_interface_create()
35 lxb_dom_node_t *node = lxb_dom_interface_node(attr); in lxb_dom_attr_interface_create()
40 return attr; in lxb_dom_attr_interface_create()
45 const lxb_dom_attr_t *attr) in lxb_dom_attr_interface_clone() argument
55 new->node.ns = attr->node.ns; in lxb_dom_attr_interface_clone()
57 if (document == attr->node.owner_document) { in lxb_dom_attr_interface_clone()
58 new->qualified_name = attr->qualified_name; in lxb_dom_attr_interface_clone()
61 data = lxb_dom_attr_data_by_id(attr->node.owner_document->attrs, in lxb_dom_attr_interface_clone()
62 attr->qualified_name); in lxb_dom_attr_interface_clone()
68 new->qualified_name = attr->qualified_name; in lxb_dom_attr_interface_clone()
82 if (lxb_dom_node_interface_copy(&new->node, &attr->node, true) in lxb_dom_attr_interface_clone()
88 if (attr->value == NULL) { in lxb_dom_attr_interface_clone()
97 if (lexbor_str_copy(new->value, attr->value, document->text) == NULL) { in lxb_dom_attr_interface_clone()
109 lxb_dom_attr_interface_destroy(lxb_dom_attr_t *attr) in lxb_dom_attr_interface_destroy() argument
112 lxb_dom_document_t *doc = lxb_dom_interface_node(attr)->owner_document; in lxb_dom_attr_interface_destroy()
114 value = attr->value; in lxb_dom_attr_interface_destroy()
116 (void) lxb_dom_node_interface_destroy(lxb_dom_interface_node(attr)); in lxb_dom_attr_interface_destroy()
130 lxb_dom_attr_set_name(lxb_dom_attr_t *attr, const lxb_char_t *name, in lxb_dom_attr_set_name() argument
134 lxb_dom_document_t *doc = lxb_dom_interface_node(attr)->owner_document; in lxb_dom_attr_set_name()
141 attr->node.local_name = data->attr_id; in lxb_dom_attr_set_name()
149 attr->qualified_name = (lxb_dom_attr_id_t) data; in lxb_dom_attr_set_name()
156 lxb_dom_attr_set_name_ns(lxb_dom_attr_t *attr, const lxb_char_t *link, in lxb_dom_attr_set_name_ns() argument
164 lxb_dom_document_t *doc = lxb_dom_interface_node(attr)->owner_document; in lxb_dom_attr_set_name_ns()
171 attr->node.ns = ns_data->ns_id; in lxb_dom_attr_set_name_ns()
177 return lxb_dom_attr_set_name(attr, name, name_length, to_lowercase); in lxb_dom_attr_set_name_ns()
189 attr->node.local_name = (lxb_dom_attr_id_t) data; in lxb_dom_attr_set_name_ns()
197 attr->qualified_name = (lxb_dom_attr_id_t) data; in lxb_dom_attr_set_name_ns()
200 attr->node.prefix = (lxb_ns_prefix_id_t) lxb_ns_prefix_append(doc->ns, name, in lxb_dom_attr_set_name_ns()
202 if (attr->node.prefix == 0) { in lxb_dom_attr_set_name_ns()
210 lxb_dom_attr_set_value(lxb_dom_attr_t *attr, in lxb_dom_attr_set_value() argument
214 lxb_dom_document_t *doc = lxb_dom_interface_node(attr)->owner_document; in lxb_dom_attr_set_value()
217 status = doc->ev_set_value(lxb_dom_interface_node(attr), in lxb_dom_attr_set_value()
224 if (attr->value == NULL) { in lxb_dom_attr_set_value()
225 attr->value = lexbor_mraw_calloc(doc->mraw, sizeof(lexbor_str_t)); in lxb_dom_attr_set_value()
226 if (attr->value == NULL) { in lxb_dom_attr_set_value()
231 if (attr->value->data == NULL) { in lxb_dom_attr_set_value()
232 lexbor_str_init(attr->value, doc->text, value_len); in lxb_dom_attr_set_value()
233 if (attr->value->data == NULL) { in lxb_dom_attr_set_value()
238 attr->value->length = 0; in lxb_dom_attr_set_value()
240 if (lexbor_str_size(attr->value) <= value_len) { in lxb_dom_attr_set_value()
243 tmp = lexbor_str_realloc(attr->value, doc->text, (value_len + 1)); in lxb_dom_attr_set_value()
250 memcpy(attr->value->data, value, sizeof(lxb_char_t) * value_len); in lxb_dom_attr_set_value()
252 attr->value->data[value_len] = 0x00; in lxb_dom_attr_set_value()
253 attr->value->length = value_len; in lxb_dom_attr_set_value()
259 lxb_dom_attr_set_value_wo_copy(lxb_dom_attr_t *attr, in lxb_dom_attr_set_value_wo_copy() argument
262 if (attr->value == NULL) { in lxb_dom_attr_set_value_wo_copy()
263 lxb_dom_document_t *doc = lxb_dom_interface_node(attr)->owner_document; in lxb_dom_attr_set_value_wo_copy()
265 attr->value = lexbor_mraw_alloc(doc->mraw, sizeof(lexbor_str_t)); in lxb_dom_attr_set_value_wo_copy()
266 if (attr->value == NULL) { in lxb_dom_attr_set_value_wo_copy()
271 attr->value->data = value; in lxb_dom_attr_set_value_wo_copy()
272 attr->value->length = value_len; in lxb_dom_attr_set_value_wo_copy()
278 lxb_dom_attr_set_existing_value(lxb_dom_attr_t *attr, in lxb_dom_attr_set_existing_value() argument
281 return lxb_dom_attr_set_value(attr, value, value_len); in lxb_dom_attr_set_existing_value()
322 lxb_dom_attr_remove(lxb_dom_attr_t *attr) in lxb_dom_attr_remove() argument
324 lxb_dom_element_t *element = attr->owner; in lxb_dom_attr_remove()
325 lxb_dom_document_t *doc = lxb_dom_interface_node(attr)->owner_document; in lxb_dom_attr_remove()
328 doc->ev_remove(lxb_dom_interface_node(attr)); in lxb_dom_attr_remove()
331 if (element->attr_id == attr) { in lxb_dom_attr_remove()
334 else if (element->attr_class == attr) { in lxb_dom_attr_remove()
338 if (attr->prev != NULL) { in lxb_dom_attr_remove()
339 attr->prev->next = attr->next; in lxb_dom_attr_remove()
342 element->first_attr = attr->next; in lxb_dom_attr_remove()
345 if (attr->next != NULL) { in lxb_dom_attr_remove()
346 attr->next->prev = attr->prev; in lxb_dom_attr_remove()
349 element->last_attr = attr->prev; in lxb_dom_attr_remove()
352 attr->next = NULL; in lxb_dom_attr_remove()
353 attr->prev = NULL; in lxb_dom_attr_remove()
354 attr->owner = NULL; in lxb_dom_attr_remove()
463 lxb_dom_attr_qualified_name(lxb_dom_attr_t *attr, size_t *len) in lxb_dom_attr_qualified_name() argument
467 if (attr->qualified_name != 0) { in lxb_dom_attr_qualified_name()
468 data = lxb_dom_attr_data_by_id(attr->node.owner_document->attrs, in lxb_dom_attr_qualified_name()
469 attr->qualified_name); in lxb_dom_attr_qualified_name()
472 data = lxb_dom_attr_data_by_id(attr->node.owner_document->attrs, in lxb_dom_attr_qualified_name()
473 attr->node.local_name); in lxb_dom_attr_qualified_name()
487 lxb_dom_attr_local_name_noi(lxb_dom_attr_t *attr, size_t *len) in lxb_dom_attr_local_name_noi() argument
489 return lxb_dom_attr_local_name(attr, len); in lxb_dom_attr_local_name_noi()
493 lxb_dom_attr_value_noi(lxb_dom_attr_t *attr, size_t *len) in lxb_dom_attr_value_noi() argument
495 return lxb_dom_attr_value(attr, len); in lxb_dom_attr_value_noi()