[jdom-interest] SAXBuilder setFeature() and setProperty() exceptions

Elliotte Rusty Harold elharo at metalab.unc.edu
Tue Apr 16 14:15:57 PDT 2002

As indicated in the JavaDoc for SAXBuilder setFeature() and setProperty():

NOTE: SAXBuilder requires that some particular features of the SAX 
parser be set up in certain ways for it to work properly. The list of 
such features may change in the future. Therefore, the use of this 
method may cause parsing to break, and even if it doesn't break anything 
today it might break parsing in a future JDOM version, because what JDOM 
parsers require may change over time. Use with caution.

That's an important note. I wonder if we shouldn't also enforce it in 
code? That is, would it be a good idea to have  setFeature() and 
setProperty() throw an exception (probably something like 
 BuilderConfigrationException extends JDOMException)  if someone passes 
a known conflicting value for  such a feature; e.g. tries to turn 
namespace processing off.

The SAX equivalents of these methods in XMLReader are declared to throw  
and SAXNotSupportedException 

Along a similar note, we're delaying those exceptions until a document 
is actually built.  I'd prefer them to be thrown immediately  until the 
unrecognized;/unsupported feature/property is set. I think the reason we 
delay them is to allow the parser to be swapped out after the builder is 
 initially constrcuted, but is this really something that's needed? 
Currently, that functionality is only available from  the protected 
interface. I don't see anyway to access from the public interface. Is it 
really so much to ask that the client create a new instance of 
SAXBuilder if they want to use a different parser?

| Elliotte Rusty Harold | elharo at metalab.unc.edu | Writer/Programmer |
|           The XML Bible, 2nd Edition (IDG Books, 2001)             |
|             http://www.cafeconleche.org/books/bible2/              |
|   http://www.amazon.com/exec/obidos/ISBN=0764547607/cafeaulaitA/   |
|  Read Cafe au Lait for Java News:   http://www.cafeaulait.org/     | 
|  Read Cafe con Leche for XML News:  http://www.cafeconleche.org/   |

More information about the jdom-interest mailing list