On Thu, Sep 21, 2006 at 11:18:04AM +0200, Kris Breuker wrote: > Hi, > > When I insert a document fragment node (XML_DOCUMENT_FRAG_NODE) into the > XML tree (for example using xmlAddChild), the node itself gets inserted > instead of its child nodes. This is a bit inconvenient because I am > writing a DOM api for a scripting language we're developing here, and > the specification > (http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-B63ED1A3) states: > > > Furthermore, various operations -- such as inserting nodes as > > children of another Node -- may take DocumentFragment objects as > > arguments; this results in all the child nodes of the > > DocumentFragment being moved to the child list of this node.
libxml2 don't pretend to implement DOM. XML_DOCUMENT_FRAG_NODE are an invention of DOM, they don't mean anything from an XML core spec point of view, best is to not generate them in the first place. > > I know I can use xmlAddChildList with the children property of the > document fragment node, but there are no such functions for > xmlAddPrevSibling (i.e. xmlAddPrevSiblingList). Is there an easy way of > inserting the children of a document fragment instead of the document > fragment itself? If you know how to operate on a doubly linked list see -> next, -> prev and on the parent node -> children and -> last. There is already a awful lot of entry points in libxml2, I'm not sure I want to add more when in general people are already just lost trying to find the existing entry points. Either iterate on the list with the existing functions or do direct access to list structures. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ [EMAIL PROTECTED] | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ _______________________________________________ xml mailing list, project page http://xmlsoft.org/ [email protected] http://mail.gnome.org/mailman/listinfo/xml
