com.saxonica.sdoc
Class StandardSchemaResolver

java.lang.Object
  extended by com.saxonica.sdoc.StandardSchemaResolver
All Implemented Interfaces:
Serializable, SchemaURIResolver

public class StandardSchemaResolver
extends Object
implements SchemaURIResolver

The default schema resolver used when no other is requested

See Also:
Serialized Form

Constructor Summary
StandardSchemaResolver(SchemaAwareConfiguration config)
           
 
Method Summary
 Source[] resolve(String targetNamespace, String baseURI, String[] locations)
          Resolve a URI identifying a schema document, given the target namespace URI and a set of associated location hints.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandardSchemaResolver

public StandardSchemaResolver(SchemaAwareConfiguration config)
Method Detail

resolve

public Source[] resolve(String targetNamespace,
                        String baseURI,
                        String[] locations)
                 throws XPathException
Resolve a URI identifying a schema document, given the target namespace URI and a set of associated location hints.

Specified by:
resolve in interface SchemaURIResolver
Parameters:
targetNamespace - the target namespaces of the module to be imported. The "null namesapce" is identified by a zero-length string. In the case of an xsd:include directive, where no target namespace is specified, the parameter is null. For the standard schema resolver, if the target namespace is already present in the schema cache, an empty array is returned (so the existing schema is used unchanged); otherwise, the URIs listed in the location hint(s) are dereferenced and returned in the form of StreamSource objects.
baseURI - The base URI of the module containing the "import schema" declaration; null if no base URI is known
locations - The set of URIs identified as schema location hints. In most cases (xsd:include, xsd:import, xsi:schemaLocation, xsl:import-schema) there is only one URI in this list. With an XQuery "import module" declaration, however, a list of URIs may be specified. The StandardSchemaResolver returns one Source object for each location, using the URIResolver registered with the configuration to interpret the location hint.
Returns:
an array of Source objects each identifying a schema document to be loaded. These need not necessarily correspond one-to-one with the location hints provided.
Throws:
XPathException - if the module cannot be located, and if delegation to the default module resolver is not required.


Copyright (C) Michael H. Kay. All rights reserved.