## net.sf.saxon.query
Interface ModuleURIResolver

All Superinterfaces:
  java.io.Serializable

All Known Implementing Classes:
  StandardModuleURIResolver

    public interface ModuleURIResolver

extends java.io.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
`javax.xml.transform.stream.StreamSource[]` `resolve(java.lang.String moduleURI, java.lang.String baseURI, java.lang.String[] locations)` Resolve a identifying a query module, given the identifying URI and a set of associated location hints.

Method Detail

### resolve

    javax.xml.transform.stream.StreamSource[] resolve(java.lang.String moduleURI,
                                                      java.lang.String baseURI,
                                                      java.lang.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 `InputStream` or an `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. The contained InputStream or Reader must be positioned at the start of the content to be read; it will be consumed by the system and will be closed after use.
  Throws:
    `XPathException` - if the module cannot be located, and if delegation to the default module resolver is not required.

Copyright (c) Saxonica Limited. All rights reserved.