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

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 08:59:54 -0800

sax sax
David Megginson wrote [04:51 AM 1/3/98 ]:
>We have had an interesting discussion about SAX ("simple API for XML"?
>I cannot remember) the past few weeks, and now it's time to get
>specific.

Excellent.  It's good to see someone grab this and take it forward.  

>[clip]
>
>ASSUMPTIONS

[clip]

>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.

Clearly one can say that this base class *is* optional and its absence
won't prevent anyone from using a SAX-implementing parser.  The trouble
with this argument is that the availability of the base class -- and code
in that class which is more than just empty stubs -- is coming into play in
the pro/con discussions about the design issues.  I'll cite a few examples:

>From question 1:
>Furthermore, if a SAX-based application
>extends the XmlAppBase base class, then it can simply ignore these if
>they are not needed.

>From question 2:
>if an application is derived from XmlAppBase, it can simply ignore
>  these events if it doesn't need them;


and:
>We could simplify things further for most users if the XmlAppBase
>class ***implemented final versions of these handlers and maintained its
>own entity stack*** [emphasis mine - davido], providing an additional
getCurrentEntity() query
>method (not part of the interface).

And from question 3:
>could be implemented in XmlAppBase, so that most users could simply
>  ignore it (the default implementation would always return the
>  systemID argument unmodified);

So, my concern is that meaningful use of SAX implementations would come to
depend, in practice, on the presence of this base class.  And that's
trouble for non-Java SAX clients.

So, my vote is that we assume that there is *not* a presence of base class.

Clearly this is a question of goals for SAX.  As someone who hopes to use
SAX-based parsers (and who may implement one), I can say that I may be
discouraged from using/implementing them if it's hard outside of Java.  On
the other hand, it may be that the collective goals of *those who are
actually doing the implementation work today* are satisfied by this design.
 And I'm a great believer in yielding to those who are actually doing the
work. :>)

What say y'all?



================================
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.