OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   SAX2 RFD: Inheritance vs. Modification vs. Amalgamation

[ Lists Home | Date Index | Thread Index ]
  • From: David Megginson <david@megginson.com>
  • To: "XML Developers' List" <xml-dev@ic.ac.uk>
  • Date: Wed, 19 May 1999 11:20:36 -0400 (EDT)

(I'd like to hear from as many people as possible on this issue.)

For SAX2, we need to add at least four methods to the SAX 1.0 Parser
interface:

  public void setFeature (String featureId, boolean state)
    throws SAXException;

  public boolean getFeature (String featureId)
    throws SAXException;

  public void setProperty (String propertyId, Object value)
    throws SAXException;

  public Object getProperty (String propertyId)
    throws SAXException;

There are three ways of doing this:

1. Create a new interface, org.xml.sax.Parser2, that extends
   org.xml.sax.Parser.

   PRO: - provides nice, two-way compatibility
        - easy to write adapters for existing SAX 1.0 drivers.
   CON: - subclassing always leads to crime (see the GOF book for
          copious warnings).

2. Add the methods to org.xml.sax.Parser, and require applications to
   catch NoSuchMethodException when using the new methods, in case
   they're concerned about what version they're dealing with.

   PRO: - doesn't limit options for subclassing in the future
   CON: - very difficult to write adapters for existing SAX 1.0
          drivers (slower acceptance and implementation of SAX2)
        - can cause unexpected behaviour at deployment time, unless
          the application designer knows to catch
          NoSuchMethodException

3. Create a separate interface org.xml.sax.ParserProps (or something
   like that), and require SAX2 drivers to implement both interfaces.

   PRO: - easy to writer adapters for existing SAX 1.0 drivers
        - fewer nasty deployment surprises
   CON: - will require lots of casting
        - conceptually ugly

Please, comment, comment, comment! I'm not smart enough to figure this
out myself.


All the best,


David

-- 
David Megginson                 david@megginson.com
           http://www.megginson.com/

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@ic.ac.uk
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@ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo@ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa@ic.ac.uk)





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS