Lines Matching refs:elem
2998 * @elem: the new node
3000 * Add a new node @elem as the next sibling of @cur
3003 * As a result of text merging @elem may be freed.
3010 xmlAddNextSibling(xmlNodePtr cur, xmlNodePtr elem) {
3018 if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
3021 "xmlAddNextSibling : elem == NULL\n");
3026 if (cur == elem) {
3029 "xmlAddNextSibling : cur == elem\n");
3034 xmlUnlinkNode(elem);
3036 if (elem->type == XML_TEXT_NODE) {
3038 xmlNodeAddContent(cur, elem->content);
3039 xmlFreeNode(elem);
3046 tmp = xmlStrdup(elem->content);
3050 xmlFreeNode(elem);
3053 } else if (elem->type == XML_ATTRIBUTE_NODE) {
3054 return xmlAddPropSibling(cur, cur, elem);
3057 if (elem->doc != cur->doc) {
3058 xmlSetTreeDoc(elem, cur->doc);
3060 elem->parent = cur->parent;
3061 elem->prev = cur;
3062 elem->next = cur->next;
3063 cur->next = elem;
3064 if (elem->next != NULL)
3065 elem->next->prev = elem;
3066 if ((elem->parent != NULL) && (elem->parent->last == cur))
3067 elem->parent->last = elem;
3068 return(elem);
3076 * @elem: the new node
3078 * Add a new node @elem as the previous sibling of @cur
3079 * merging adjacent TEXT nodes (@elem may be freed)
3088 xmlAddPrevSibling(xmlNodePtr cur, xmlNodePtr elem) {
3096 if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
3099 "xmlAddPrevSibling : elem == NULL\n");
3104 if (cur == elem) {
3107 "xmlAddPrevSibling : cur == elem\n");
3112 xmlUnlinkNode(elem);
3114 if (elem->type == XML_TEXT_NODE) {
3118 tmp = xmlStrdup(elem->content);
3122 xmlFreeNode(elem);
3127 xmlNodeAddContent(cur->prev, elem->content);
3128 xmlFreeNode(elem);
3131 } else if (elem->type == XML_ATTRIBUTE_NODE) {
3132 return xmlAddPropSibling(cur->prev, cur, elem);
3135 if (elem->doc != cur->doc) {
3136 xmlSetTreeDoc(elem, cur->doc);
3138 elem->parent = cur->parent;
3139 elem->next = cur;
3140 elem->prev = cur->prev;
3141 cur->prev = elem;
3142 if (elem->prev != NULL)
3143 elem->prev->next = elem;
3144 if ((elem->parent != NULL) && (elem->parent->children == cur)) {
3145 elem->parent->children = elem;
3147 return(elem);
3154 * @elem: the new node
3156 * Add a new element @elem to the list of siblings of @cur
3157 * merging adjacent TEXT nodes (@elem may be freed)
3164 xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
3175 if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
3178 "xmlAddSibling : elem == NULL\n");
3183 if (cur == elem) {
3186 "xmlAddSibling : cur == elem\n");
3204 xmlUnlinkNode(elem);
3206 if ((cur->type == XML_TEXT_NODE) && (elem->type == XML_TEXT_NODE) &&
3207 (cur->name == elem->name)) {
3208 xmlNodeAddContent(cur, elem->content);
3209 xmlFreeNode(elem);
3211 } else if (elem->type == XML_ATTRIBUTE_NODE) {
3212 return xmlAddPropSibling(cur, cur, elem);
3215 if (elem
3216 xmlSetTreeDoc(elem, cur->doc);
3219 elem->prev = cur;
3220 elem->next = NULL;
3221 elem->parent = parent;
3222 cur->next = elem;
3224 parent->last = elem;
3226 return(elem);
4489 xmlGetDtdQAttrDesc(ret, tmp->elem, tmp->name, tmp->prefix);
8505 * @elem: the element-node to declare on
8510 * Declares a new namespace on @elem. It tries to use the
8512 * on @elem, it will generate an other prefix.
8519 xmlNodePtr elem,
8530 if ((doc == NULL) || (elem == NULL) || (elem->type != XML_ELEMENT_NODE))
8538 * Lookup whether the prefix is unused in elem's ns-decls.
8540 if ((elem->nsDef != NULL) &&
8541 (xmlTreeNSListLookupByPrefix(elem->nsDef, pref) != NULL))
8543 if (checkShadow && elem->parent &&
8544 ((xmlNodePtr) elem->parent->doc != elem->parent)) {
8548 if (xmlSearchNsByPrefixStrict(doc, elem->parent, pref, NULL) == 1)
8554 if (elem->nsDef == NULL)
8555 elem->nsDef = ret;
8557 xmlNsPtr ns2 = elem->nsDef;
8580 * @elem: the element-node to declare namespaces on
8589 * found it will either declare it on @elem, or store it in doc->oldNs.
8590 * If a new ns-decl needs to be declared on @elem, it tries to use the
8591 * @ns->prefix for it, if this prefix is already in use on @elem, it will
8598 xmlNodePtr elem,
8628 * @elem (the first ancestor) was specified, then skip the search.
8631 (! (ancestorsOnly && (elem == NULL))))
8665 if (elem == NULL) {
8686 tmpns = xmlDOMWrapNSNormDeclareNsForced(doc, elem, ns->href,
8724 * @elem: the element-node
8740 xmlNodePtr elem,
8756 if ((elem == NULL) || (elem->doc == NULL) ||
8757 (elem->type != XML_ELEMENT_NODE))
8760 doc = elem->doc;
8761 cur = elem;
8776 if ((elem->parent) &&
8777 ((xmlNodePtr) elem->parent->doc != elem->parent)) {
8782 elem->parent) == -1)
8860 if ((elem->parent) &&
8861 ((xmlNodePtr) elem->parent->doc != elem->parent)) {
8863 elem->parent) == -1)
8929 if (cur == elem)