[
Lists Home |
Date Index |
Thread Index
]
You are misleading yourself by trying to guess what underlying parser a DOM
implementation uses since it *doesn't matter*.
A DOM parser can not only use a push or pull based parser but can use a lex &
yacc grammer or heck even XSLT to populate itself. It is irrelevant since this
process is invisible to the application developer using the DOM API.
Once the XML is loaded in memory then the user of the data has random access
to it via the API unlike if the application developer had chosen a pull or
push based parser where only sequential access would be available.
--
THINGS TO DO IF I BECOME AN EVIL OVERLORD #118
If I have equipment which performs an important function, it will not
be activated by a lever that someone could trigger by accidentally falling
on when fatally wounded.
----- Original Message -----
From: "Sterin, Ilya" <Isterin@ciber.com>
To: "'Clark C . Evans'" <cce@clarkevans.com>; <xml-dev@lists.xml.org>
Sent: Friday, January 25, 2002 9:25 PM
Subject: RE: [xml-dev] Push and Pull?
> Clark, I think this post and the previoius one by you, pretty much
> outline the push and pull.
>
> pull - the program controls what happens to the data the parser returns
> push - the parser controls what happens to the data returns, since it
> maintains the while loop.
>
> Is it safe to say then that the underlying DOM parser is rather a pull
> model, since it really maintains the loop. Or is it not, because it's
> build based on the pull model, the the DOM (processor) is a program that
> has control of the loop and actually retains it in memory?
>
> Ilya
>
> > -----Original Message-----
> > From: Clark C . Evans [mailto:cce@clarkevans.com]
> > Sent: Friday, January 25, 2002 6:13 PM
> > To: xml-dev@lists.xml.org
> > Subject: Re: [xml-dev] Push and Pull?
> >
> >
> > On Fri, Jan 25, 2002 at 06:24:16PM -0800, Sterin, Ilya wrote:
> > > The thing that I guess is confusing, is that DOM processors are
> > > in a way neither push nor pull, but are rather
> >
> > If "pull" is a flow-control requirement such that the program
> > stack is controlled by the data consumer (the program has the
> > while loop), then DOM is "pull". Likewise, if "push" is a
> > flow-control requirement such that the program stack is
> > controlled by the data provider (the parser has the while
> > loop), then SAX is "push".
> >
> > The "slurping" noise is caused by DOM's random access
> > requirement. It has nothing to do with the flow-control
> > aspect of the model.
> >
> > On Fri, Jan 25, 2002 at 04:30:45PM -0800, Paul Prescod wrote:
> > | Here's the exception that proves the rule:
> > | http://www.prescod.net/python/pulldom.html
> >
> > From what I understand, Paul's (quite wonderful) Pull DOM is
> > a not-quite-compliant DOM where you can't go backwards.
> > Thus, it has a pull-interface (the program has the while
> > loop) but only requires sequential-access. This works since
> > a restricted version of DOM is being used.
> >
> > Best,
> >
> > Clark
> >
> > --
> > Clark C. Evans Axista, Inc.
> > http://www.axista.com 800.926.5525
> > XCOLLA Collaborative Project Management Software
> >
> > -----------------------------------------------------------------
> > The xml-dev list is sponsored by XML.org
> > <http://www.xml.org>, an initiative of OASIS
> <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com
|