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

Re: SAX: do we want a base class (was Re: SAX: towards a solution)

  • From: David Ornstein <davido@p...>
  • To: xml-dev@i...
  • Date: Sat, 03 Jan 1998 10:31:44 -0800

sax do
You wrote [09:32 AM 1/3/98 ]:
>David Ornstein writes:
>
> > >I am also assuming that we will provide not only a callback interface,
> > >but also an (optional) base class with stub methods that implementors
> > >can override as needed; that means that novice users will not have to
> > >implement all of SAX, even if we do end up with nine or ten methods.
> > 
> > This worries me.  My interest is in implementations of SAX-clients in C++.
> > Will I have, as part of somebody's SAX implementation that I'm using, this
> > (optional) base class available to me too?  How about people working in
> > other languages (somebody mentioned tcl, for example)?  I'd assume not.
>
>Thank you for your feedback.  Right now, I am proposing SAX as two
>core interfaces (one for the parser and one for the user event
>handlers), 

Good.  Sounds right.

>together with an optional base class.  Some OO languages do
>not support interfaces, in which case the interfaces themselves will
>have to be implemented as an abstract base classes.

Clearly.  In C++ I use interfaces all the time and think they are essential
to building good systems.

>I'm afraid that I do not understand why would it be difficult to
>implement the XmlAppBase base class in, say, C++, Perl5, or iTcl as
>well as Java?  I am certainly not depending on any Java-specific
>behaviour in it (there is no dynamic type checking or class loading).
>My goal is to design SAX to work in any OO language.

Good.  I think that's the right goal (though I suppose some others could
argue for C).

My point is not that implementing the base class would be hard in the other
languages.  It probably wouldn't be (depending, of course, on how fat it
gets).

My point is about a relationship: as the usefulness of the base class
climbs towards necessity, the probability of people using SAX-implementing
parsers *that don't come with the base class supplied* declines.  This is
only important iff the design of the API is influenced by the assumption of
the presence of the base class.  Some of the "design issue" posts seemed to
me to be heading in that direction.   If we divide the world into SAX
implementors and SAX clients, I think that the base class is a useful thing
for *clients* to build and use; it's how I'd do it.  As such, I think it
probably doesn't belong on the implementor side of the line.

David

================================
David Ornstein
Pragmatica, Inc.
http://www.pragmaticainc.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/
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.