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