Package net.sf.saxon.lib

## Interface SchemaURIResolver

- All Known Implementing Classes:
    `LSSchemaResolver`, `StandardSchemaResolver`

      public interface SchemaURIResolver

  A SchemaURIResolver is used when resolving references to schema documents. It takes as input the target namespace of the schema to be loaded, and a set of location hints as input, and returns one or more Source objects containing the schema documents to be imported.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `javax.xml.transform.Source[]` | `resolve​(java.lang.String targetNamespace, java.lang.String baseURI, java.lang.String[] locations)` | Resolve a URI identifying a schema document, given the target namespace URI and a set of associated location hints.
    `void` | `setConfiguration​(Configuration config)` | Set the configuration information for use by the resolver

- - ### Method Detail

    - #### setConfiguration

          void setConfiguration​(Configuration config)

      Set the configuration information for use by the resolver
      Parameters:
        `config` - the Saxon Configuration (which will always be an `EnterpriseConfiguration`)

    - #### resolve

          javax.xml.transform.Source[] resolve​(java.lang.String targetNamespace,
                                               java.lang.String baseURI,
                                               java.lang.String[] locations)
                                        throws XPathException

      Resolve a URI identifying a schema document, given the target namespace URI and a set of associated location hints.
      Parameters:
        `targetNamespace` - the target namespaces of the schema 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.
        `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 (xs:include, xs: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.
      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. Returning a zero-length array indicates that no schema documents should be loaded (perhaps because the relevant schema components are already present in the schema cache). The method may also return null to indicate that resolution should be delegated to the standard (Saxon-supplied) SchemaURIResolver.
      Throws:
        `XPathException` - if the module cannot be located, and if delegation to the default module resolver is not required.