org.springframework.beans.factory.xml

## Class DefaultDocumentLoader

- java.lang.Object
- - org.springframework.beans.factory.xml.DefaultDocumentLoader

- All Implemented Interfaces:
    DocumentLoader

      public class DefaultDocumentLoader
      extends Object
      implements DocumentLoader

  Spring's default `DocumentLoader` implementation.

  Simply loads `documents` using the standard JAXP-configured XML parser. If you want to change the `DocumentBuilder` that is used to load documents, then one strategy is to define a corresponding Java system property when starting your JVM. For example, to use the Oracle `DocumentBuilder`, you might start your application like as follows:

      java -Djavax.xml.parsers.DocumentBuilderFactory=oracle.xml.jaxp.JXDocumentBuilderFactory MyMainClass

  Since:
    2.0
  Author:
    Rob Harrop, Juergen Hoeller

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultDocumentLoader()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected DocumentBuilder` | `createDocumentBuilder(DocumentBuilderFactory factory, EntityResolver entityResolver, ErrorHandler errorHandler)` Create a JAXP DocumentBuilder that this bean definition reader will use for parsing XML documents.
    `protected DocumentBuilderFactory` | `createDocumentBuilderFactory(int validationMode, boolean namespaceAware)` Create the `DocumentBuilderFactory` instance.
    `Document` | `loadDocument(InputSource inputSource, EntityResolver entityResolver, ErrorHandler errorHandler, int validationMode, boolean namespaceAware)` Load the `Document` at the supplied `InputSource` using the standard JAXP-configured XML parser.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DefaultDocumentLoader

          public DefaultDocumentLoader()

  - ### Method Detail

    - #### loadDocument

          public Document loadDocument(InputSource inputSource,
                                       EntityResolver entityResolver,
                                       ErrorHandler errorHandler,
                                       int validationMode,
                                       boolean namespaceAware)
                                throws Exception

      Load the `Document` at the supplied `InputSource` using the standard JAXP-configured XML parser.
      Specified by:
        `loadDocument` in interface `DocumentLoader`
      Parameters:
        `inputSource` - the source of the document that is to be loaded
        `entityResolver` - the resolver that is to be used to resolve any entities
        `errorHandler` - used to report any errors during document loading
        `validationMode` - the type of validation `DTD` or `XSD`)
        `namespaceAware` - `true` if support for XML namespaces is to be provided
      Returns:
        the loaded `document`
      Throws:
        `Exception` - if an error occurs

    - #### createDocumentBuilderFactory

          protected DocumentBuilderFactory createDocumentBuilderFactory(int validationMode,
                                                                        boolean namespaceAware)
                                                                 throws ParserConfigurationException

      Create the `DocumentBuilderFactory` instance.
      Parameters:
        `validationMode` - the type of validation: `DTD` or `XSD`)
        `namespaceAware` - whether the returned factory is to provide support for XML namespaces
      Returns:
        the JAXP DocumentBuilderFactory
      Throws:
        `ParserConfigurationException` - if we failed to build a proper DocumentBuilderFactory

    - #### createDocumentBuilder

          protected DocumentBuilder createDocumentBuilder(DocumentBuilderFactory factory,
                                                          @Nullable
                                                          EntityResolver entityResolver,
                                                          @Nullable
                                                          ErrorHandler errorHandler)
                                                   throws ParserConfigurationException

      Create a JAXP DocumentBuilder that this bean definition reader will use for parsing XML documents. Can be overridden in subclasses, adding further initialization of the builder.
      Parameters:
        `factory` - the JAXP DocumentBuilderFactory that the DocumentBuilder should be created with
        `entityResolver` - the SAX EntityResolver to use
        `errorHandler` - the SAX ErrorHandler to use
      Returns:
        the JAXP DocumentBuilder
      Throws:
        `ParserConfigurationException` - if thrown by JAXP methods