Re: [xml] TextReader vis-a-vis SAX



On Thu, Feb 14, 2008 at 03:10:43PM +0200, Andrew W. Nosenko wrote:
On Thu, Feb 14, 2008 at 2:41 PM, Daniel Veillard <veillard redhat com> wrote:
On Wed, Feb 13, 2008 at 06:16:49PM +0200, Andrew W. Nosenko wrote:
 > On Aug 29, 2007 3:32 PM, Daniel Veillard <veillard redhat com> wrote:
 > > On Wed, Aug 29, 2007 at 06:50:53PM +0530, harbhanu wrote:
 > > > >> What libxml2 creates is a sliding window over the full document. It
 > > > >> contains the current node and its ancestors. That's the only guarantee
 >
 > Therefore, if I understand correctly the phrase "It contains the
 > current node and its ancestors", the input document should be fully
 > loaded into memory and parsed at first time because of root node (in
 > any use-case, not only "<a><ab><abc><abcd> ... </abcd></abc></ab></a>"
 > case below)?

  No. A node and its ancestors doesn't make a full document. It this
 was the case you would not be able to parse and validate documents
 of more than 4 GB in near constant memory, which the reader allows.


Thanks and sorry, I misread "node and its ancestors" as "node and its
descendants" :-(

  No problem :-) Basically the reader maintains a 'sliding window' over
what would be the full document, and that window moves to cover the current
node as Read() calls are made.

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/



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