Package net.sf.saxon.lib

## Interface SourceResolver

- All Known Implementing Classes:
    `Configuration`, `EnterpriseConfiguration`, `ProfessionalConfiguration`

      public interface SourceResolver

  This interface defines a SourceResolver. A SourceResolver can be registered as part of the Configuration, and enables new kinds of Source to be recognized beyond those that are natively recognized by Saxon.

  The task of the SourceResolver is to take any Source as input, and to return a Source that has native support in Saxon: that is, one of the classes StreamSource, SAXSource, DOMSource, `NodeInfo`, or `PullSource`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `javax.xml.transform.Source` | `resolveSource​(javax.xml.transform.Source source, Configuration config)` | Resolve a Source.

- - ### Method Detail

    - #### resolveSource

          javax.xml.transform.Source resolveSource​(javax.xml.transform.Source source,
                                                   Configuration config)
                                            throws XPathException

      Resolve a Source.
      Parameters:
        `source` - A source object, typically the source supplied as the first argument to `Transformer.transform(javax.xml.transform.Source, javax.xml.transform.Result)` or similar methods.
        `config` - The Configuration. This provides the SourceResolver with access to configuration information; it also allows the SourceResolver to invoke the resolveSource() method on the Configuration object as a fallback implementation.
      Returns:
        a source object that Saxon knows how to process. This must be an instance of one of the classes StreamSource, SAXSource, DOMSource, `AugmentedSource`, `NodeInfo`, or `PullSource`. Return null if the Source object is not recognized
      Throws:
        `XPathException` - if the Source object is recognized but cannot be processed