On Mon, Dec 24, 2007 at 04:06:27PM -0500, Eric West wrote: [...] > What was not obvious in the xmlTextReader+XPath example was where > to get a pointer to the current xmlDocPtr without calling > xmlTextReaderCurrentDoc(). I did some further experimenting and > found that one may use the xmlDocPtr from the xmlNodePtr returned > by xmlTextReaderExpand(). For example: > > node = xmlTextReaderExpand( reader); > pathContext = xmlXPathNewContext( node->doc); > pathContext->node = node; > obj = xmlXPathEval( BAD_CAST xmlXPathQuery, pathContext); > > With this revision of my code and replacement of xmlFree() with > the appropriate variant (eg xmlXPathFreeObject, xmlXPathFreeContext) > I was able to get valgrind to give my code a clean bill of health. > > Question: is the above code sequence valid??? (Just because it works, > is not much of a measure of correctness. :) )
As long as your XPath query is relative to the node and uses only the descendants and ancestors of the node that should be reliable. 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
