[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] SAX2: Handler Interfaces
Box, Don writes: > 0) I think that the independence of ContentHandler, LexicalHandler, > DTDHandler and ErrorHandler are carried a bit too far. In general, > I would like to be able to ask the content handler for the lexical > handler interface (a la Java's cast operator or COM's > QueryInterface). To allow two distinct objects to be used, I would > bake in the getter method instead of relying on the underlying type > system. I have often worried about the same thing, but there are a few reasons for the approach: 1. In Java, it's not possible to use multiple class inheritance, so a class that needs to inherit from something else (say, HashMap) cannot also inherit from HandlerBase (SAX1) or DefaultHandler (SAX2); that means that many implementors have to implement *every* method in the interface. My own assumption in SAX1 was that many people would need to implement DocumentHandler, but that very few would be interested in DTDHandler, so it was an unfair burden to make everyone implement all of the callback methods. 2. In SAX2, LexicalHandler and DeclHandler are not required interfaces -- that is, implementations are free not to support them -- and I expect that among those who do use them, LexicalHandler will be much more heavily used than DeclHandler, so again, it makes sense to separate them. In Java, it's no problem for a single application class to implement all of the interfaces -- I've been very careful to avoid method-name collisions. In COM, are you required to use a separate class to implement each interface? If so, maybe a different approach would make sense for the COM implementation. (I'll answer other points in separate replies.) All the best, David -- David Megginson david@m... http://www.megginson.com/ *************************************************************************** This is xml-dev, the mailing list for XML developers. To unsubscribe, mailto:majordomo@x...&BODY=unsubscribe%20xml-dev List archives are available at http://xml.org/archives/xml-dev/ ***************************************************************************
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|