com.icl.saxon.om

## Class DocumentBuilderFactoryImpl

- java.lang.Object
- - javax.xml.parsers.DocumentBuilderFactory
  - - com.icl.saxon.om.DocumentBuilderFactoryImpl

-     public class DocumentBuilderFactoryImpl
      extends javax.xml.parsers.DocumentBuilderFactory

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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DocumentBuilderFactoryImpl()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.Object` | `getAttribute(java.lang.String name)`
    `boolean` | `getFeature(java.lang.String name)` Get the state of the named feature.
    `javax.xml.parsers.DocumentBuilder` | `newDocumentBuilder()`
    `void` | `setAttribute(java.lang.String name, java.lang.Object value)`
    `void` | `setFeature(java.lang.String name, boolean value)` Set a feature for this `DocumentBuilderFactory` and `DocumentBuilder`s created by this factory.

    - ### Methods inherited from class javax.xml.parsers.DocumentBuilderFactory

      `getSchema, isCoalescing, isExpandEntityReferences, isIgnoringComments, isIgnoringElementContentWhitespace, isNamespaceAware, isValidating, isXIncludeAware, newInstance, newInstance, setCoalescing, setExpandEntityReferences, setIgnoringComments, setIgnoringElementContentWhitespace, setNamespaceAware, setSchema, setValidating, setXIncludeAware`

    - ### 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

    - #### getAttribute

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

      Specified by:
        `getAttribute` in class `javax.xml.parsers.DocumentBuilderFactory`

    - #### newDocumentBuilder

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

      Specified by:
        `newDocumentBuilder` in class `javax.xml.parsers.DocumentBuilderFactory`
      Throws:
        `javax.xml.parsers.ParserConfigurationException`

    - #### setAttribute

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

      Specified by:
        `setAttribute` in class `javax.xml.parsers.DocumentBuilderFactory`

    - #### 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.

        The Saxon implementation always throws this exception.

    - #### 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 enity 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.

      The Saxon implementation does not support the secure processing feature.

      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.