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.


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

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