Lines Matching defs:element
23 /* An element can hold this many children without extra memory
29 to minimize the size of the element structure itself (this only
186 /* element tag (a string). */
197 /* text after this element, in parent. note that this is a tagged
489 raise_type_error(PyObject *element)
493 Py_TYPE(element)->tp_name);
497 element_add_subelement(ElementObject* self, PyObject* element)
499 /* add a child element to a parent */
501 if (!Element_Check(element)) {
502 raise_type_error(element);
509 Py_INCREF(element);
510 self->extra->children[self->extra->length] = element;
721 ElementObject* element;
723 element = (ElementObject*) create_new_element(
725 if (!element)
729 _set_joined_ptr(&element->text, self->text);
732 _set_joined_ptr(&element->tail, self->tail);
734 assert(!element->extra || !element->extra->length);
736 if (element_resize(element, self->extra->length) < 0) {
737 Py_DECREF(element);
743 element->extra->children[i] = self->extra->children[i];
746 assert(!element->extra->length);
747 element->extra->length = self->extra->length;
750 return (PyObject*) element;
769 ElementObject* element;
790 element = (ElementObject*) create_new_element(tag, attrib);
795 if (!element)
801 _set_joined_ptr(&element->text, JOIN_SET(text, JOIN_GET(self->text)));
806 _set_joined_ptr(&element->tail, JOIN_SET(tail, JOIN_GET(self->tail)));
808 assert(!element->extra || !element->extra->length);
810 if (element_resize(element, self->extra->length) < 0)
820 element->extra->length = i;
823 element->extra->children[i] = child;
826 assert(!element->extra->length);
827 element->extra->length = self->extra->length;
835 i = PyDict_SetItem(memo, id, (PyObject*) element);
842 return (PyObject*) element;
845 Py_DECREF(element);
1190 PyObject* element = PySequence_Fast_GET_ITEM(seq, i);
1191 Py_INCREF(element);
1192 if (element_add_subelement(self, element) < 0) {
1194 Py_DECREF(element);
1197 Py_DECREF(element);
1585 /* element has no children, so raise exception */
1757 "element indices must be integers");
1892 PyObject *element = PySequence_Fast_GET_ITEM(seq, i);
1893 if (!Element_Check(element)) {
1894 raise_type_error(element);
1903 we're done modifying the element */
1927 PyObject* element = PySequence_Fast_GET_ITEM(seq, i);
1928 Py_INCREF(element);
1929 self->extra->children[cur] = element;
1943 "element indices must be integers");
1990 "can't delete element attribute"); \
2052 /* ElementIterObject represents the iteration state over an XML element in
2053 * pre-order traversal. To keep track of which sub-element should be returned
2131 /* Sub-element iterator.
2173 * text, not text following the element it began iteration with.
2325 PyObject *stack; /* element stack */
2332 /* element tracing */
2493 /* helpers for handling of arbitrary element-like objects */
2547 treebuilder_extend_element_text_or_tail(PyObject *element, PyObject **data,
2551 if (Element_CheckExact(element)) {
2572 PyObject* previous = _PyObject_GetAttrId(element, name);
2591 r = _PyObject_SetAttrId(element, name, joined);
2608 PyObject *element = self->last;
2611 element, &self->data,
2612 &((ElementObject *) element)->text, &PyId_text);
2615 PyObject *element = self->last_for_tail;
2618 element, &self->data,
2619 &((ElementObject *) element)->tail, &PyId_tail);
2624 treebuilder_add_subelement(PyObject *element, PyObject *child)
2627 if (Element_CheckExact(element)) {
2628 ElementObject *elem = (ElementObject *) element;
2633 res = _PyObject_CallMethodIdOneArg(element, &PyId_append, child);
4023 /* activate element event reporting */
4188 "A string identifying what kind of data this element represents"},
4200 "A dictionary containing the element's attributes"},