Home | History | Annotate | Download | only in libxml2

Lines Matching refs:elem

2963  * @elem:  the new node
2965 * Add a new node @elem as the next sibling of @cur
2968 * As a result of text merging @elem may be freed.
2975 xmlAddNextSibling(xmlNodePtr cur, xmlNodePtr elem) {
2983 if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
2986 "xmlAddNextSibling : elem == NULL\n");
2991 if (cur == elem) {
2994 "xmlAddNextSibling : cur == elem\n");
2999 xmlUnlinkNode(elem);
3001 if (elem->type == XML_TEXT_NODE) {
3003 xmlNodeAddContent(cur, elem->content);
3004 xmlFreeNode(elem);
3011 tmp = xmlStrdup(elem->content);
3015 xmlFreeNode(elem);
3018 } else if (elem->type == XML_ATTRIBUTE_NODE) {
3019 return xmlAddPropSibling(cur, cur, elem);
3022 if (elem->doc != cur->doc) {
3023 xmlSetTreeDoc(elem, cur->doc);
3025 elem->parent = cur->parent;
3026 elem->prev = cur;
3027 elem->next = cur->next;
3028 cur->next = elem;
3029 if (elem->next != NULL)
3030 elem->next->prev = elem;
3031 if ((elem->parent != NULL) && (elem->parent->last == cur))
3032 elem->parent->last = elem;
3033 return(elem);
3041 * @elem: the new node
3043 * Add a new node @elem as the previous sibling of @cur
3044 * merging adjacent TEXT nodes (@elem may be freed)
3053 xmlAddPrevSibling(xmlNodePtr cur, xmlNodePtr elem) {
3061 if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
3064 "xmlAddPrevSibling : elem == NULL\n");
3069 if (cur == elem) {
3072 "xmlAddPrevSibling : cur == elem\n");
3077 xmlUnlinkNode(elem);
3079 if (elem->type == XML_TEXT_NODE) {
3083 tmp = xmlStrdup(elem->content);
3087 xmlFreeNode(elem);
3092 xmlNodeAddContent(cur->prev, elem->content);
3093 xmlFreeNode(elem);
3096 } else if (elem->type == XML_ATTRIBUTE_NODE) {
3097 return xmlAddPropSibling(cur->prev, cur, elem);
3100 if (elem->doc != cur->doc) {
3101 xmlSetTreeDoc(elem, cur->doc);
3103 elem->parent = cur->parent;
3104 elem->next = cur;
3105 elem->prev = cur->prev;
3106 cur->prev = elem;
3107 if (elem->prev != NULL)
3108 elem->prev->next = elem;
3109 if ((elem->parent != NULL) && (elem->parent->children == cur)) {
3110 elem->parent->children = elem;
3112 return(elem);
3119 * @elem: the new node
3121 * Add a new element @elem to the list of siblings of @cur
3122 * merging adjacent TEXT nodes (@elem may be freed)
3129 xmlAddSibling(xmlNodePtr cur, xmlNodePtr elem) {
3140 if ((elem == NULL) || (elem->type == XML_NAMESPACE_DECL)) {
3143 "xmlAddSibling : elem == NULL\n");
3148 if (cur == elem) {
3151 "xmlAddSibling : cur == elem\n");
3169 xmlUnlinkNode(elem);
3171 if ((cur->type == XML_TEXT_NODE) && (elem->type == XML_TEXT_NODE) &&
3172 (cur->name == elem->name)) {
3173 xmlNodeAddContent(cur, elem->content);
3174 xmlFreeNode(elem);
3176 } else if (elem->type == XML_ATTRIBUTE_NODE) {
3177 return xmlAddPropSibling(cur, cur, elem);
3180 if (elem->doc != cur->doc) {
3181 xmlSetTreeDoc(elem, cur->doc);
3184 elem->prev = cur;
3185 elem->next = NULL;
3186 elem->parent = parent;
3187 cur->next = elem;
3189 parent->last = elem;
3191 return(elem);
4449 xmlGetDtdQAttrDesc(ret, tmp->elem, tmp->name, tmp->prefix);
8457 * @elem: the element-node to declare on
8462 * Declares a new namespace on @elem. It tries to use the
8464 * on @elem, it will generate an other prefix.
8471 xmlNodePtr elem,
8482 if ((doc == NULL) || (elem == NULL) || (elem->type != XML_ELEMENT_NODE))
8490 * Lookup whether the prefix is unused in elem's ns-decls.
8492 if ((elem->nsDef != NULL) &&
8493 (xmlTreeNSListLookupByPrefix(elem->nsDef, pref) != NULL))
8495 if (checkShadow && elem->parent &&
8496 ((xmlNodePtr) elem->parent->doc != elem->parent)) {
8500 if (xmlSearchNsByPrefixStrict(doc, elem->parent, pref, NULL) == 1)
8506 if (elem->nsDef == NULL)
8507 elem->nsDef = ret;
8509 xmlNsPtr ns2 = elem->nsDef;
8532 * @elem: the element-node to declare namespaces on
8541 * found it will either declare it on @elem, or store it in doc->oldNs.
8542 * If a new ns-decl needs to be declared on @elem, it tries to use the
8543 * @ns->prefix for it, if this prefix is already in use on @elem, it will
8550 xmlNodePtr elem,
8580 * @elem (the first ancestor) was specified, then skip the search.
8583 (! (ancestorsOnly && (elem == NULL))))
8617 if (elem == NULL) {
8638 tmpns = xmlDOMWrapNSNormDeclareNsForced(doc, elem, ns->href,
8676 * @elem: the element-node
8692 xmlNodePtr elem,
8708 if ((elem == NULL) || (elem->doc == NULL) ||
8709 (elem->type != XML_ELEMENT_NODE))
8712 doc = elem->doc;
8713 cur = elem;
8728 if ((elem->parent) &&
8729 ((xmlNodePtr) elem->parent->doc != elem->parent)) {
8734 elem->parent) == -1)
8812 if ((elem->parent) &&
8813 ((xmlNodePtr) elem->parent->doc != elem->parent)) {
8815 elem->parent) == -1)
8881 if (cur == elem)