## net.sf.saxon.query
Interface ModuleURIResolver

All Superinterfaces:
  java.io.Serializable

All Known Implementing Classes:
  StandardModuleURIResolver

public interface ModuleURIResolver
extends java.io.Serializable

This interface defines a ModuleURIResolver. This takes a module URI and a set of module location hints as input, and returns a StreamSource representing the text of the query, and containing its base URI.

The system supplies a StandardModuleURIResolver but this can be overridden by a user-supplied ModuleURIResolver.

Method Summary
`javax.xml.transform.stream.StreamSource[]` `resolve(java.lang.String moduleURI, java.lang.String baseURI, java.lang.String[] locations)` Resolve a module URI and associated location hints.

Method Detail

### resolve

    public javax.xml.transform.stream.StreamSource[] resolve(java.lang.String moduleURI,
                                                             java.lang.String baseURI,
                                                             java.lang.String[] locations)
                                                      throws XPathException

  Resolve a module URI and associated location hints.

  Parameters:
    `moduleURI` - The module namespace URI of the module to be imported; or null when loading a non-library module.
    `baseURI` - The base URI of the module containing the "import module" declaration; null if no base URI is known
    `locations` - The set of URIs specified in the "at" clause of "import module", which serve as location hints for the module
  Returns:
    an array of StreamSource objects each identifying the contents of a module to be imported. Each StreamSource must contain a non-null absolute System ID which will be used as the base URI of the imported module, and either an InputSource or a Reader representing the text of the module. The method may also return null, in which case the system attempts to resolve the URI using the standard module URI resolver.
  Throws:
    `XPathException` - if the module cannot be located, and if delegation to the default module resolver is not required.