[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [xml] xmlNodePtr valid after its document has been modified?



On Wed, Nov 05, 2008 at 04:56:11PM +0100, Martin Trappel wrote:
> Hi all!
>
> a) Given a xmlNodePtr, is it still valid after modifying the document?
> b) Given the xmlChar* Value of an attribute, is it still valid after  
> modifying the node/document ?
>
> [code]
> xmlDoc* doc;
> ...
> xmlNode* doc_node = (... obtain node of doc ...);
> xmlChar* node_attrib_val = xmlGetProp(doc_node, "TEST");
> ...
> // Modify the doc, possibly adding and removing other nodes
> ...
> doc_node->... (Is the NodePtr still valid?)
> ...
> // Modify the node by adding or removing Attributes/Properties
> ...
> printf("%s", (const char*)node_attrib_value); // attribute value still  
> valid??
> [/code]
>
> Does libxml2 guarantee this? (v 2.6.27)

  I think yes. The only danger I can think of is colapsing of adjacent
text nodes, and namespace references, that's the only cases were a node
not directly used in a tree modification may change or vanish due to
the modification side effects,

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel veillard com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]