Class DefaultDocumentLoader
java.lang.Object
org.springframework.beans.factory.xml.DefaultDocumentLoader
- All Implemented Interfaces:
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
-
Method Summary
Modifier and TypeMethodDescriptionprotected 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 theDocumentBuilderFactory
instance.loadDocument
(InputSource inputSource, EntityResolver entityResolver, ErrorHandler errorHandler, int validationMode, boolean namespaceAware) Load theDocument
at the suppliedInputSource
using the standard JAXP-configured XML parser.
-
Constructor Details
-
DefaultDocumentLoader
public DefaultDocumentLoader()
-
-
Method Details
-
loadDocument
public Document loadDocument(InputSource inputSource, EntityResolver entityResolver, ErrorHandler errorHandler, int validationMode, boolean namespaceAware) throws Exception Load theDocument
at the suppliedInputSource
using the standard JAXP-configured XML parser.- Specified by:
loadDocument
in interfaceDocumentLoader
- Parameters:
inputSource
- the source of the document that is to be loadedentityResolver
- the resolver that is to be used to resolve any entitieserrorHandler
- used to report any errors during document loadingvalidationMode
- the type of validationDTD
orXSD
)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 theDocumentBuilderFactory
instance.- Parameters:
validationMode
- the type of validation:DTD
orXSD
)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 withentityResolver
- the SAX EntityResolver to useerrorHandler
- the SAX ErrorHandler to use- Returns:
- the JAXP DocumentBuilder
- Throws:
ParserConfigurationException
- if thrown by JAXP methods
-