Re: [Sax-devel] Unregistering callback interfaces from XMLReader
Brought to you by:
dmegginson
From: David B. <da...@pa...> - 2001-11-05 00:12:55
|
I thought the most widely used parsers today (AElfred, Crimson, Xerces) all treat "set handler to null" as meaning "restore default behavior". Which parser was not doing that? Agreed this is something worth revising; I tend to think it's not worth a new API call, since the natural idiom uses null handlers. But it's also the kind of behavioral change that I'd call a "SAX 2.1" feature. - Dave ----- Original Message ----- From: "Elliotte Rusty Harold" <el...@me...> To: "sax-devel" <sax...@li...> Sent: Sunday, November 04, 2001 8:30 AM Subject: [Sax-devel] Unregistering callback interfaces from XMLReader > It's a common feature of all the SAX callback interfaces in XMLReader > that once one has been set, it cannot be unset. For instance, you can > add a DTDHandler, but you ca't delete it. You can replace it with a > different implementation, but you cannot completely get rid of it after > you've added one, even if you no longer need one. Trying > parser.setDTDHandler(null) throws a NullPointerException. As a > workaround you can provide a do-nothing implementation, but that's a > little kludgy. > > I wonder if we need to either revise the behavior of > parser.setFooHandler(null) so that it does not throw an excpetion and > merely removes the handler? Alternately, we could add unsetFooHandler() > methods and retain the current behavior of setFooHandler(). > > I'm not sure I've though through all the implications here so I'd like > to discuss it before possibly filing an RFE. > > -- |