## net.sf.saxon
Class StandardURIResolver

    java.lang.Object
      net.sf.saxon.StandardURIResolver

All Implemented Interfaces:
  NonDelegatingURIResolver, java.io.Serializable, javax.xml.transform.URIResolver

public class StandardURIResolver
extends java.lang.Object
implements NonDelegatingURIResolver, java.io.Serializable

This class provides the service of converting a URI into an InputSource. It is used to get stylesheet modules referenced by xsl:import and xsl:include, and source documents referenced by the document() function. The standard version handles anything that the java URL class will handle. You can write a subclass to handle other kinds of URI, e.g. references to things in a database.

See Also:
  Serialized Form

Field Summary
`protected boolean` `recognizeQueryParameters`

Constructor Summary
`StandardURIResolver()` Create a StandardURIResolver, with no reference to a TransformerFactory
`StandardURIResolver(Configuration config)` Create a StandardURIResolver, with a reference to a TransformerFactory

Method Summary
`static java.lang.String` `escapeSpaces(java.lang.String s)` Replace spaces by %20
`protected javax.xml.transform.Source` `getPTreeSource(java.lang.String href, java.lang.String base)` Handle a PTree source file (Saxon-SA only)
`static java.net.URI` `makeAbsolute(java.lang.String relativeURI, java.lang.String base)` Combine the relative URI and base URI
`boolean` `queryParametersAreRecognized()` Determine whether query parameters (such as ?validation=strict) are to be recognized
`javax.xml.transform.Source` `resolve(java.lang.String href, java.lang.String base)` Resolve a URI
`void` `setRecognizeQueryParameters(boolean recognize)` Indicate that query parameters (such as ?validation=strict) are to be recognized
`static java.lang.String` `tryToExpand(java.lang.String systemId)` If a system ID can't be parsed as a URL, we'll try to expand it as a relative URI using the current directory as the base URI: MHK addition.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### recognizeQueryParameters

    protected boolean recognizeQueryParameters

Constructor Detail

### StandardURIResolver

    public StandardURIResolver()

  Create a StandardURIResolver, with no reference to a TransformerFactory

### StandardURIResolver

    public StandardURIResolver(Configuration config)

  Create a StandardURIResolver, with a reference to a TransformerFactory

Parameters:
  `config` - The Configuration object. This is used to get a SAX Parser for a source XML document

Method Detail

### setRecognizeQueryParameters

    public void setRecognizeQueryParameters(boolean recognize)

  Indicate that query parameters (such as ?validation=strict) are to be recognized

  Parameters:
    `recognize` - Set to true if query parameters in the URI are to be recognized and acted upon. The default (for compatibility and interoperability reasons) is false.

### queryParametersAreRecognized

    public boolean queryParametersAreRecognized()

  Determine whether query parameters (such as ?validation=strict) are to be recognized

  Returns:
    true if query parameters are recognized and interpreted by Saxon.

### resolve

    public javax.xml.transform.Source resolve(java.lang.String href,
                                              java.lang.String base)
                                       throws XPathException

  Resolve a URI

  Specified by:
    `resolve` in interface `javax.xml.transform.URIResolver`
  Parameters:
    `href` - The relative or absolute URI. May be an empty string. May contain a fragment identifier starting with "#", which must be the value of an ID attribute in the referenced XML document.
    `base` - The base URI that should be used. May be null if uri is absolute.
  Returns:
    a Source object representing an XML document
  Throws:
    `XPathException`

### makeAbsolute

    public static java.net.URI makeAbsolute(java.lang.String relativeURI,
                                            java.lang.String base)
                                     throws DynamicError,
                                            java.net.URISyntaxException

  Combine the relative URI and base URI

  Throws:
    `DynamicError`
    `java.net.URISyntaxException`

### escapeSpaces

    public static java.lang.String escapeSpaces(java.lang.String s)

  Replace spaces by %20

### tryToExpand

    public static java.lang.String tryToExpand(java.lang.String systemId)

  If a system ID can't be parsed as a URL, we'll try to expand it as a relative URI using the current directory as the base URI: MHK addition.

### getPTreeSource

    protected javax.xml.transform.Source getPTreeSource(java.lang.String href,
                                                        java.lang.String base)
                                                 throws XPathException

  Handle a PTree source file (Saxon-SA only)

  Throws:
    `XPathException`