net.sf.saxon.query

Interface ModuleURIResolver

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

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

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: net.sf.saxon.trans.XPathException if the module cannot be located, and if delegation to the default module resolver is not required.