String interning
Miles Sabin
msabin at cromwellmedia.co.uk
Tue Jan 18 10:24:47 GMT 2000
Toby Speight wrote,
> This also allows consumers to push a SAX interner (a filter)
> onto the producer, so that all output from the filter is
> interned. This needs to be done just once, at setup time, so
> no other part of the consumer is affected. And there's no
> overhead added if the producer generates interned names.
>
> boolean namesAreInterned =
> xmlReader.getFeature
> ("http://xml.org/sax/features/interned-names");
>
> if (namesAreInterned)
^^^?
> xmlReader = new SAXInterner(xmlReader);
>
> // The 'interned-names' feature will always be true at this
> // point.
>
> // Now add the handlers...
This is the nicest solution yet ... if you're handlers depend
on String.intern() and the parser doesn't guarantee that, then
slip an intern'ing adapter around the parser.
But shouldn't the marked line read,
if (!namesAreInterned)
xmlReader = new SAXInterner(xmlReader);
Cheers,
Miles
--
Miles Sabin Cromwell Media
Internet Systems Architect 5/6 Glenthorne Mews
+44 (0)20 8817 4030 London, W6 0LJ, England
msabin at cromwellmedia.com http://www.cromwellmedia.com/
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/ 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