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

Methods
`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,
                                        EntityResolver entityResolver,
                                        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