SAX: Method Name Collisions

David Megginson (ak117@freenet.carleton.ca)
Mon, 13 Apr 1998 10:12:01 -0400


Tyler Baker writes:

> > 1. Programmers can import SAX classes into their own namespaces
> > with less danger of collision (they will often have their
> > own "Parser" and "DocumentHandler" classes). Experienced programmers
> > might snort at this, but I have had several messages from people
> > who couldn't understand why their code wasn't compiling properly.
>
> This is very much more evident I have found with method naming
> collisions than actual class naming collisions. The class naming
> collisions can be fixed by explicitly naming the entire package
> qualified name for classes which collide. With interfaces there is
> no mechanism to do this. If you have a class which implements two
> interfaces that may have the same method declarations and
> signature, then you are pretty much SOL as far as figuring out what
> should be returned.

The biggest offender is SAXAttributeList:

public int getLength ();
public String getName (int i);
public String getType (int i);
public String getValue (int i);
public String getType (String name);
public String getValue (String name);

To minimise method-name collisions, we would have to do something like
this:

public int getAttributeListLength ();
public String getAttributeName (int i);
public String getAttributeType (int i);
public String getAttributeValue (int i);
public String getAttributeType (String name);
public String getAttributeValue (String name);

The first, "getAttributeListLength", is the ugliest. It is simple to
avoid this problem by creating a separate class for SAXAttributeList,
rather than implementing it in the main driver -- what does everyone
else think about this question?

Thanks, and all the best,

David

-- 
David Megginson                 ak117@freenet.carleton.ca
Microstar Software Ltd.         dmeggins@microstar.com
      http://home.sprynet.com/sprynet/dmeggins/

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