## net.sf.saxon.dom
Class DocumentBuilderFactoryImpl

    java.lang.Object
      javax.xml.parsers.DocumentBuilderFactory
          net.sf.saxon.dom.DocumentBuilderFactoryImpl

    public class DocumentBuilderFactoryImpl

extends javax.xml.parsers.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
`java.lang.Object` `getAttribute(java.lang.String name)` Allows the user to retrieve specific attributes on the underlying implementation.
`boolean` `getFeature(java.lang.String name)` Get the state of the named feature.
`boolean` `isXIncludeAware()` Get state of XInclude processing.
`javax.xml.parsers.DocumentBuilder` `newDocumentBuilder()` Creates a new instance of a `DocumentBuilder` using the currently configured parameters.
`void` `setAttribute(java.lang.String name, java.lang.Object value)` Allows the user to set specific attributes on the underlying implementation.
`void` `setFeature(java.lang.String name, boolean value)` Set a feature for this `DocumentBuilderFactory` and `DocumentBuilder`s created by this factory.
`void` `setXIncludeAware(boolean state)` Set state of XInclude processing.

Methods inherited from class javax.xml.parsers.DocumentBuilderFactory
`getSchema, isCoalescing, isExpandEntityReferences, isIgnoringComments, isIgnoringElementContentWhitespace, isNamespaceAware, isValidating, newInstance, setCoalescing, setExpandEntityReferences, setIgnoringComments, setIgnoringElementContentWhitespace, setNamespaceAware, setSchema, setValidating`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DocumentBuilderFactoryImpl

    public DocumentBuilderFactoryImpl()

Method Detail

### setAttribute

    public void setAttribute(java.lang.String name,
                             java.lang.Object value)

  Allows the user to set specific attributes on the underlying implementation.

  Specified by:
    `setAttribute` in class `javax.xml.parsers.DocumentBuilderFactory`
  Parameters:
    `name` - The name of the attribute. For Saxon this must be one of the names defined in `FeatureKeys`
    `value` - The value of the attribute.
  Throws:
    `java.lang.IllegalArgumentException` - thrown if the underlying implementation doesn't recognize the attribute.

### getAttribute

    public java.lang.Object getAttribute(java.lang.String name)

  Allows the user to retrieve specific attributes on the underlying implementation.

  Specified by:
    `getAttribute` in class `javax.xml.parsers.DocumentBuilderFactory`
  Parameters:
    `name` - The name of the attribute. For Saxon this must be one of the names defined in `FeatureKeys`
  Returns:
    value The value of the attribute.
  Throws:
    `java.lang.IllegalArgumentException` - thrown if the underlying implementation doesn't recognize the attribute.

### newDocumentBuilder

    public javax.xml.parsers.DocumentBuilder newDocumentBuilder()
                                                         throws javax.xml.parsers.ParserConfigurationException

  Creates a new instance of a `DocumentBuilder` using the currently configured parameters.

  Specified by:
    `newDocumentBuilder` in class `javax.xml.parsers.DocumentBuilderFactory`
  Returns:
    A new instance of a DocumentBuilder. For Saxon the returned DocumentBuilder will be an instance of `DocumentBuilderImpl`
  Throws:
    `javax.xml.parsers.ParserConfigurationException` - if a DocumentBuilder cannot be created which satisfies the configuration requested.

### setFeature

    public void setFeature(java.lang.String name,
                           boolean value)
                    throws javax.xml.parsers.ParserConfigurationException

  Set a feature for this `DocumentBuilderFactory` and `DocumentBuilder`s created by this factory.

  Feature names are fully qualified `URI`s. Implementations may define their own features. An `ParserConfigurationException` is thrown if this `DocumentBuilderFactory` or the `DocumentBuilder`s 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 `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 `ErrorHandler.fatalError(org.xml.sax.SAXParseException exception)`. See `DocumentBuilder.setErrorHandler(org.xml.sax.ErrorHandler errorHandler)`.
  - `false`: the implementation will processing XML according to the XML specifications without regard to possible implementation limits.

  Specified by:
    `setFeature` in class `javax.xml.parsers.DocumentBuilderFactory`
  Parameters:
    `name` - Feature name.
    `value` - Is feature state `true` or `false`.
  Throws:
    `javax.xml.parsers.ParserConfigurationException` - if this `DocumentBuilderFactory` or the `DocumentBuilder`s it creates cannot support this feature.
    `java.lang.NullPointerException` - If the `name` parameter is null.

### getFeature

    public boolean getFeature(java.lang.String name)
                       throws javax.xml.parsers.ParserConfigurationException

  Get the state of the named feature.

  Feature names are fully qualified `URI`s. Implementations may define their own features. An `ParserConfigurationException` is thrown if this `DocumentBuilderFactory` or the `DocumentBuilder`s it creates cannot support the feature. It is possible for an `DocumentBuilderFactory` to expose a feature value but be unable to change its state.

  Specified by:
    `getFeature` in class `javax.xml.parsers.DocumentBuilderFactory`
  Parameters:
    `name` - Feature name.
  Returns:
    State of the named feature.
  Throws:
    `javax.xml.parsers.ParserConfigurationException` - if this `DocumentBuilderFactory` or the `DocumentBuilder`s it creates cannot support this feature.

### isXIncludeAware

    public boolean isXIncludeAware()

  Get state of XInclude processing.

  Overrides:
    `isXIncludeAware` in class `javax.xml.parsers.DocumentBuilderFactory`
  Returns:
    current state of XInclude processing
  Throws:
    `java.lang.UnsupportedOperationException` - For backward compatibility, when implementations for earlier versions of JAXP is used, this exception will be thrown.
  Since:
    1.5

### setXIncludeAware

    public void setXIncludeAware(boolean state)

  Set state of XInclude processing.

  If XInclude markup is found in the document instance, should it be processed as specified in XML Inclusions (XInclude) Version 1.0.

  XInclude processing defaults to `false`.

  Overrides:
    `setXIncludeAware` in class `javax.xml.parsers.DocumentBuilderFactory`
  Parameters:
    `state` - Set XInclude processing to `true` or `false`
  Throws:
    `java.lang.UnsupportedOperationException` - For backward compatibility, when implementations for earlier versions of JAXP is used, this exception will be thrown.
  Since:
    1.5

Copyright (c) Saxonica Limited. All rights reserved.