[Home] [By Thread] [By Date] [Recent Entries]

  • From: David Ornstein <davido@p...>
  • To: James Clark <jjc@j...>
  • Date: Sat, 03 Jan 1998 18:37:53 -0800

James Clark wrote [03:33 PM 1/3/98 ]:
>David Ornstein wrote:
>
>> >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? 
>
>In C++ I can't see any need for a base class separate from the
>interface. You can just have a single class which provides empty
>definitions for all virtual functions.

If the only purpose for the base class is to provide *empty* definitions
for the functions, then I agree.

On the other hand, I'm seeing the base class fill up with a variety of
"default implementations" for many of the functions in the interface.
These "default implementations" will be non-empty and their behavior may
turn out to be expected by clients.   As a result, reasonable
implementations will probably need/want to provide the base class.  This
may well end up meaning that the "default implementations"  actually become
a part of the SAX "spec".

Witness your comment in a previous note:

>If we do this, then the stub (adapter) class should do
>
>void ignorableWhitespace(char ch[], int off, int count) {
>  charData(ch, off, count);
>}
>
>This means that users who don't care about the difference can just
>ignore it.

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


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member