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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected DocumentBuildercreateDocumentBuilder(DocumentBuilderFactory factory, @Nullable EntityResolver entityResolver, @Nullable ErrorHandler errorHandler) Create a JAXP DocumentBuilder that this bean definition reader will use for parsing XML documents.protected DocumentBuilderFactorycreateDocumentBuilderFactory(int validationMode, boolean namespaceAware) Create theDocumentBuilderFactoryinstance.loadDocument(InputSource inputSource, EntityResolver entityResolver, ErrorHandler errorHandler, int validationMode, boolean namespaceAware) Load theDocumentat the suppliedInputSourceusing 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 theDocumentat the suppliedInputSourceusing the standard JAXP-configured XML parser.- Specified by:
loadDocumentin 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 validationDTDorXSD)namespaceAware-trueif 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 theDocumentBuilderFactoryinstance.- Parameters:
validationMode- the type of validation:DTDorXSD)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
-