On Wed, Jul 02, 2008 at 03:08:59PM +0800, Ashwin wrote:
> 
> > >  ah, then it's a bug. i have tried to make sure the reader and the
> walker
> > > work the same, but i think I didn't tried that extensively for extra
> > > functionality like skipping part of the tree.
> > >  Can you see why xmlTextReaderNextTree doesn't work, it seems it should
> > > do what is expected, i don't really see why not.
> > 
> >     I think the functionality to skip the subtree is missed, will try and
> > add that, iterative code like in the one for xmlTextReaderNext is not
> > present
> 
> Hi Daniel,
>  I am attaching a patch for the above problem, now the behaviour is pretty
> similar to what is expected, there is however a doubt in one case, the case
> where the node on which the API is called does not have a sibling. Assume
[...]
> 
> If I call the xmlTextReaderNext on element3 for pre-parsed documents, with
> the fix I return the next node as the <siblingnode>. However, for
> non-preparsed docs the node is returned <parentelement>, I am guessing the
> end element node of parentelementnode if viewed in document order.
> 
> IMO for xmlTextReaderNextTree, the appropriate node returned is the sibling
> node. So I have based the fix on the logic that after a call to
> xmlTextReaderNextTree, the code will check if a sibling is present for that
> particular node, move to that node if present, else move to the parent and
> check for sibling and if present move to that node and return, else repeat
> the process....
> Note: In the example quoted suppose <siblingnode> is absent, then with the
> attached fix, the Api will return 0, ie node not found, if called on
> <element3>.
> 
> Please let me know if this is correct, or some modifications are required

  That looks correct, I looked at it last week, applied it to my tree
and commited it to SVN yesterday,

  thanks !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
[EMAIL PROTECTED]  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/
_______________________________________________
xml mailing list, project page  http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml

Reply via email to