Re: SAX: String Internalisation and a CORBA/DCOM Question

Tim Bray (tbray@textuality.com)
Sun, 19 Apr 1998 14:22:31 -0700


At 12:28 PM 4/19/98 +0700, James Clark wrote:
>> Here's another last-minute SAX question: should org.xml.sax.Parser
>> expose a method for internalising strings?
>>
>> public abstract String intern (String s);
>
>Absolutely not.

I'm with James that the complexity is past the SAX 80/20 point for now.

>Doing lots of comparisions on the type of each element whether using
>equals or == is not a good way to write an efficient application.

For what it's worth, while I agree that this shouldn't go in, I am not
convinced by James' argument here; I think the technique of having
effectively interned all the element/attribute names allows for
an elegant and minimal design in all sorts of applications, particularly
the lightweight ones that would want to use a stream interface.

>It's
>typically better to have a hash-table that associates each element type
>with either an integer (which you can then use in a switch statement) or
>an object (which you then make a method call on).

I think that if you're getting into an application of the class where
this type of machinery starts to pay for itself, there's a good chance
that you're going to be happier with a DOM/Tree API rather than SAX
anyhow. -Tim