SAX: org.xml.sax.AttributeMap

Toby Speight tms at ansa.co.uk
Wed Feb 25 10:43:46 GMT 1998


David> David Megginson <URL:mailto:ak117 at freenet.carleton.ca>

=> In article <199802250138.UAA00524 at unready.microstar.com>, David
=> wrote:

David> David Megginson writes:

David>   package org.xml.sax;
David>
David>   public interface AttributeList {
David>
David>     //...
David>     public abstract String getType (int index);
David>     //...
David>
David>   }

We're returning one of a bounded, known set of values.  I'd prefer to
use an int for this type of thing, along with a set of constants.
I.e.

    public abstract String getType (int index);
    public static final int CDATA = 0;
    public static final int NMTOKEN = 1;
    // etc.

The only advantage a String has over this is that you can meaningfully
present it to the user as it is.  A disadvantage of String is that it is
computationally expensive to compare for equality (or equivalently, and
worse, to switch() on it).  Comparison becomes easier if one provides a
set of String constants and guarantees that returned values will test
equal with "==".  That is not too different to my suggestion of using
numeric constants.


Converting integers to human-readable Strings is easy:

   public static String[] typeNames = new String[/* some size */];
   static {
       typeNames[CDATA]   = "CDATA";
       typeNames[NMTOKEN] = "NMTOKEN";
       // etc.
   }

but I don't think this needs to be part of the interface.

One might wish to use short or char instead of int if storage space is
at a premium; I'm making no judgement on which arithmetic type is
best.

This proposal is not Java-specific.

-- 

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)




More information about the Xml-dev mailing list