net.sf.saxon.query
Class StandardModuleURIResolver
java.lang.Object
net.sf.saxon.query.StandardModuleURIResolver
- All Implemented Interfaces:
- ModuleURIResolver, java.io.Serializable
- public class StandardModuleURIResolver
- extends java.lang.Object
- implements ModuleURIResolver
This class is the standard ModuleURIResolver used to implement the "import module" declaration
in a Query Prolog. It is used when no user-defined ModuleURIResolver has been specified, or when
the user-defined ModuleURIResolver decides to delegate to the standard ModuleURIResolver.
- See Also:
- Serialized Form
Method Summary |
static javax.xml.transform.stream.StreamSource |
getQuerySource(java.net.URI absoluteURI)
Get a StreamSource object representing the source of a query, given its URI. |
javax.xml.transform.stream.StreamSource[] |
resolve(java.lang.String moduleURI,
java.lang.String baseURI,
java.lang.String[] locations)
Resolve a module URI and associated location hints. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StandardModuleURIResolver
public StandardModuleURIResolver()
resolve
public javax.xml.transform.stream.StreamSource[] resolve(java.lang.String moduleURI,
java.lang.String baseURI,
java.lang.String[] locations)
throws XPathException
- Resolve a module URI and associated location hints.
- Specified by:
resolve
in interface ModuleURIResolver
- Parameters:
moduleURI
- The module namespace 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 knownlocations
- 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 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
getQuerySource
public static javax.xml.transform.stream.StreamSource getQuerySource(java.net.URI absoluteURI)
throws StaticError
- Get a StreamSource object representing the source of a query, given its URI.
This method attempts to discover the encoding by reading any HTTP headers.
If the encoding can be determined, it returns a StreamSource containing a Reader that
performs the required decoding. Otherwise, it returns a StreamSource containing an
InputSource, leaving the caller to sort out encoding problems.
- Parameters:
absoluteURI
- the absolute URI of the source query
- Returns:
- a StreamSource containing a Reader or InputSource, as well as a systemID representing
the base URI of the query.
- Throws:
StaticError
- if the URIs are invalid or cannot be resolved or dereferenced, or
if any I/O error occurs