String interning

David Brownell david-b at
Fri Jan 14 22:26:25 GMT 2000

David Megginson wrote:
> One of the basic design goals of SAX 1.0 was to keep the interface
> simple, under the assumption that many (most?) of the users will not
> be XML or Java gurus, or even well-experienced programmers in
> general.
> Keeping this goal in mind, then, there are only two reasonable
> choices:
> 1. Declare that SAX2 names must always be interned as with
>    java.lang.String.intern.

Were only parsers at issue, this would be my choice.  There
will not be many parsers, and as someone (Tim?) noted, if they
don't do this already, it's likely a one line change.

> 2. Declare that SAX2 names need not be interned as with
>    java.lang.String.intern.
> Them's the choices.

That is, you're ruling out

3. Let SAX2 event producers expose which policy they use, so
   that components which require interning can fail cleanly
   (at setup time) if their inputs don't do it.

The reason I like #3 is that I beleve more components will be
generating these events than just parsers, and it's too much
to demand that every such producer do the interning.

- 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