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