## net.sf.saxon.query
Interface ModuleURIResolver

All Superinterfaces:
  Serializable

All Known Implementing Classes:
  StandardModuleURIResolver

    public interface ModuleURIResolver

extends Serializable

A ModuleURIResolver is used when resolving references to query modules. It takes as input a URI that identifies the module to be loaded, and a set of location hints as input, and returns one or more StreamSource obects containing the queries to be imported.

Author:
  Michael H. Kay

Method Summary
`StreamSource[]` `resolve(String moduleURI, String baseURI, String[] locations)` Resolve a identifying a query module, given the identifying URI and a set of associated location hints.

Method Detail

### resolve

    StreamSource[] resolve(String moduleURI,
                           String baseURI,
                           String[] locations)
                           throws XPathException

  Resolve a identifying a query module, given the identifying URI and a set of associated location hints.

  Parameters:
    `moduleURI` - the module 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 query 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.

Copyright (C) Michael H. Kay. All rights reserved.