[jdom-interest] Urgent Request to Add a method in SAXBuilder class

Alex Rosen arosen at silverstream.com
Tue Jul 31 07:45:30 PDT 2001

I agree that this is important. Jason has concerns, however. See the
discussion that starts here:

With the refactoring of SAXBuilder in Beta 7, you can work around this
yourself. Here is a subclass of SAXBuilder that lets you set features
and properties.


import java.util.*;
import org.jdom.input.*;
import org.xml.sax.*;

// This is a JDOM SAXBuilder that can set particular features or
// on the underlying SAX parser (XMLReader). NOTE: The base JDOM
// sets certain properties and features of the parser as well, and may
// function properly if those settings are changed. However, there are
// settings that can certainly be changed without a problem, such as the
// "allow-java-encodings" feature.
public class OurSAXBuilder extends SAXBuilder
	public OurSAXBuilder()

	public void setFeature(String name, boolean value)
		// Save the specified feature for later.
		m_features.put(name, new Boolean(value));

	public void setProperty(String name, Object value)
		// Save the specified property for later.
		m_properties.put(name, value);

    protected void configureParser(XMLReader parser, SAXHandler
                    throws Exception
		super.configureParser(parser, contentHandler);

		// Set any specified features on the underlying parser.
		Iterator iter = m_features.keySet().iterator();
			String name = (String)iter.next();
			Boolean value = (Boolean)m_features.get(name);
			parser.setFeature(name, value.booleanValue());

		// Set any specified properties on the underlying parser.
		iter = m_properties.keySet().iterator();
			String name = (String)iter.next();
			Object value = m_properties.get(name);
			parser.setProperty(name, value);

	private HashMap				m_features = new HashMap(5);
	private HashMap				m_properties = new HashMap(5);

More information about the jdom-interest mailing list