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, 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)
          Locate a query module, or a set of query modules, given the identifying URI and a set of associated location hints.
 

Method Detail

resolve

StreamSource[] resolve(String moduleURI,
                       String baseURI,
                       String[] locations)
                       throws XPathException
Locate a query module, or a set of query modules, 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.