[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: events vs callbacks (was Re: SAX2 (was Re: DOM vs. SAX??? Nah. ))

  • From: Gabe Beged-Dov <begeddov@j...>
  • To: Bill la Forge <b.laforge@j...>
  • Date: Thu, 25 Feb 1999 20:50:05 -0800

interface vs event
Bill la Forge wrote:

> >Event-based programming existed before people started encapsulating
> >events in structures or objects.  I'd define SAX as an event-based API
> >that reports events using callbacks.
>
> But why are we not taking advantage of having the events as objects?
> I've tried to second guess why this is so, but I think the arguments in
> favor of object-based events is stronger: the added overhead is balanced
> by greater simplicity and subsequently less overhead in other areas; the
> added flexability adding additional utility to all conformant code.

I'll play devil's advocate in order to keep this thread going :-). The two reasons
I can  see for prefering the current API are:

    1) Good old installed base argument (doubly so with the SUN XML direction).

    2) Efficiency.

The first is a classic trade-off of increased flexibility and maintainability in the
future vs. transition costs in the present. It can be handled with the usual backwards
compatability approaches.

The second can be dealt with by deciding if you want to provide an event object vs an
event interface.  The event object  requires SAX to do a deep copy of the event
information in order to decouple it from the parser. If you just want the benefits
that Bill is advocating, you can go with the event interface and allow the same tricks
that are currently used.  You could then  support the deep copy in the helpers
package.

The next step would be to use theEvent interface at the "raw" API level  in order to
obtain the extensibility without sacrificing efficiency and support an event queuing
layer above it where streaming application integration is available.

Flexible control flow integration is very hard when everybody thinks they're in
charge.  An event interface (with an event object layer above it) makes this
integration easier.

> The same will be true of SAX2, if events are objects. It will dramatically increase
> the utility of all the conformant code!

I agree. If you document that SAX owns the event and provide convenience routines to
do a deep copy, it seems like you can have the
best of both worlds.

Gabe Beged-Dov
www.jfinity.com



xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i...
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo@i... the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@i... the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@i...)


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.