Package 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
Description
`DefaultDocumentLoader()`

## Method Summary

Modifier and Type
Method
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 Details

### DefaultDocumentLoader

public DefaultDocumentLoader()

## Method Details

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