Next Round

david at david at
Thu Jan 21 03:03:02 GMT 1999

Don Park writes:

 > Or we could just redefine setDocumentHandler so that LexicalHandler is
 > automatically set if the given DocumentHandler implementation also
 > implements that interface.  The two interfaces are strongly related after
 > all.

That's a bit Java-specific -- not all languages actually allow you to
dynamically determine this sort of thing at runtime.

 > >3. Namespace Support
 > How about  this?
 > public interface NamespaceHandler {
 >     public void startNamespace(Namespace ns);
 >     public void endNamespace();
 > }
 > public interface Namespace {
 >     public String getPrefix(String qname);
 >     public String getURI(String qname);
 > }

That's really one level higher -- in general, SAX provides information 
at the lowest possible level so that implementations can build on top
of it.

 > For efficiency sake, we might also require that if NamespaceHandler is
 > supported then all names (tag name, attribute name, namespace prefix and
 > URI) should be 'interned'.

The trouble is that Java's intern, at least in 1.1, is incredibly
inefficient -- it turned up as one of the biggest bottlenecks back
when I was profiling AElfred -- so any parser writer worth his/her
salt is implementing a separate intern anyway.

All the best,


David Megginson                 david at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list