String interning (WAS: SAX2/Java: Towards a final form)

David Brownell david-b at
Thu Jan 13 20:41:39 GMT 2000

"Clark C. Evans" wrote:
> There are going to be lots of server side filter
> architectures using the SAX interface which may
> not do this.  Indeed, I'd say that the "parser"
> interface is mis-named.  It's really an "emitter".
> And I'd go so far to say that in a few years,
> 99% of the "emitters" out there won't be parsers!

I sort of hope so.  XML data models shouldn't be
forced to stop right above parsing; it's not always
appropriate.  It should certainly be possible to
assemble pipelines of components which may optionally
be sourced by a parser, but don't need to be.

> A java compiler could, for instance, take:
>   lhs.equals(rhs)
> and compile it as
>   ( lhs == rhs | lhs.equals(rhs) )

Any implementation of "equals" that doesn't
first test for "==" has serious problems; and
I include the String.equals implementations
up to JDK 1.1.6 or so when I say that.

Even so, method invocation is never free, and it's
appropriate to ensure that it can be (sometimes)
eliminated directly in the source code.

- Dave

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: or CD-ROM/ISBN 981-02-3594-1
Please note: New list subscriptions now closed in preparation for transfer to OASIS.

More information about the Xml-dev mailing list