net.sf.saxon.dom

Class DocumentBuilderFactoryImpl


public class DocumentBuilderFactoryImpl
extends DocumentBuilderFactory

Implementation of JAXP 1.1 DocumentBuilderFactory. To build a Document using Saxon, set the system property javax.xml.parsers.DocumentBuilderFactory to "net.sf.saxon.om.DocumentBuilderFactoryImpl" and then call DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(InputSource);

Constructor Summary

DocumentBuilderFactoryImpl()

Method Summary

Object
getAttribute(String name)
Allows the user to retrieve specific attributes on the underlying implementation.
boolean
getFeature(String name)
Get the state of the named feature.
boolean
isXIncludeAware()
Get state of XInclude processing.
DocumentBuilder
newDocumentBuilder()
Creates a new instance of a javax.xml.parsers.DocumentBuilder using the currently configured parameters.
void
setAttribute(String name, Object value)
Allows the user to set specific attributes on the underlying implementation.
void
setFeature(String name, boolean value)
Set a feature for this DocumentBuilderFactory and DocumentBuilders created by this factory.
void
setXIncludeAware(boolean state)
Set state of XInclude processing.

Constructor Details

DocumentBuilderFactoryImpl

public DocumentBuilderFactoryImpl()

Method Details

getAttribute

public Object getAttribute(String name)
Allows the user to retrieve specific attributes on the underlying implementation.
Returns:
value The value of the attribute.

getFeature

public boolean getFeature(String name)
            throws ParserConfigurationException
Get the state of the named feature.

Feature names are fully qualified java.net.URIs. Implementations may define their own features. An javax.xml.parsers.ParserConfigurationException is thrown if this DocumentBuilderFactory or the DocumentBuilders it creates cannot support the feature. It is possible for an DocumentBuilderFactory to expose a feature value but be unable to change its state.

Parameters:
name - Feature name.
Returns:
State of the named feature.

isXIncludeAware

public boolean isXIncludeAware()
Get state of XInclude processing.
Returns:
current state of XInclude processing
Since:
1.5

newDocumentBuilder

public DocumentBuilder newDocumentBuilder()
            throws ParserConfigurationException
Creates a new instance of a javax.xml.parsers.DocumentBuilder using the currently configured parameters.

setAttribute

public void setAttribute(String name,
                         Object value)
Allows the user to set specific attributes on the underlying implementation.

setFeature

public void setFeature(String name,
                       boolean value)
            throws ParserConfigurationException
Set a feature for this DocumentBuilderFactory and DocumentBuilders created by this factory.

Feature names are fully qualified java.net.URIs. Implementations may define their own features. An javax.xml.parsers.ParserConfigurationException is thrown if this DocumentBuilderFactory or the DocumentBuilders it creates cannot support the feature. It is possible for an DocumentBuilderFactory to expose a feature value but be unable to change its state.

All implementations are required to support the javax.xml.XMLConstants.FEATURE_SECURE_PROCESSING feature. When the feature is:

  • true: the implementation will limit XML processing to conform to implementation limits. Examples include entity expansion limits and XML Schema constructs that would consume large amounts of resources. If XML processing is limited for security reasons, it will be reported via a call to the registered org.xml.sax.ErrorHandler.fatalError(org.xml.sax.SAXParseException exception). See javax.xml.parsers.DocumentBuilder.setErrorHandler(org.xml.sax.ErrorHandler errorHandler).
  • false: the implementation will processing XML according to the XML specifications without regard to possible implementation limits.
Parameters:
name - Feature name.
value - Is feature state true or false.

setXIncludeAware

public void setXIncludeAware(boolean state)
Parameters:
state - Set XInclude processing to true or false
Since:
1.5