net.sf.saxon.lib

## Class StandardURIResolver

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

- All Implemented Interfaces:
    Serializable, URIResolver, NonDelegatingURIResolver
  Direct Known Subclasses:
    PackageURIResolver, PTreeURIResolver, XomUriResolver

      public class StandardURIResolver
      extends Object
      implements NonDelegatingURIResolver, 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.
  Author:
    Michael H. Kay
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `recognizeQueryParameters`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `StandardURIResolver()` Create a StandardURIResolver, with no reference to a Configuration.
    `StandardURIResolver(Configuration config)` Create a StandardURIResolver, with a reference to a Configuration

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Configuration` | `getConfiguration()` Get the configuration if available
    `protected Platform` | `getPlatform()` Get the relevant platform
    `protected Source` | `getPTreeSource(String href, String base)` Handle a PTree source file (Saxon-EE only)
    `boolean` | `queryParametersAreRecognized()` Determine whether query parameters (such as validation=strict) are to be recognized
    `Source` | `resolve(String href, String base)` Resolve a URI
    `void` | `setConfiguration(Configuration config)` Set the configuration
    `void` | `setRecognizeQueryParameters(boolean recognize)` Indicate that query parameters (such as validation=strict) are to be recognized
    `protected void` | `setSAXInputSource(SAXSource source, String uriString)` Set the InputSource part of the returned SAXSource.

    - ### 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 Configuration. Note: it is preferable but not essential to supply a Configuration, either in the constructor or in a subsequent call of `setConfiguration()`

    - #### StandardURIResolver

          public StandardURIResolver(Configuration config)

      Create a StandardURIResolver, with a reference to a Configuration
      Parameters:
        `config` - The Configuration object. May be null. This is used (if available) to get a reusable 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.

    - #### getPlatform

          protected Platform getPlatform()

      Get the relevant platform
      Returns:
        the platform

    - #### setConfiguration

          public void setConfiguration(Configuration config)

      Set the configuration
      Parameters:
        `config` - the configuration

    - #### getConfiguration

          public Configuration getConfiguration()

      Get the configuration if available
      Returns:
        the configuration

    - #### resolve

          public Source resolve(String href,
                       String base)
                         throws XPathException

      Resolve a URI
      Specified by:
        `resolve` in interface `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`

    - #### getPTreeSource

          protected Source getPTreeSource(String href,
                              String base)
                                   throws XPathException

      Handle a PTree source file (Saxon-EE only)
      Parameters:
        `href` - the relative URI
        `base` - the base URI
      Returns:
        the new Source object
      Throws:
        `XPathException`

    - #### setSAXInputSource

          protected void setSAXInputSource(SAXSource source,
                               String uriString)

      Set the InputSource part of the returned SAXSource. This is done in a separate method to allow subclassing. The default implementation simply places the URI in the InputSource, allowing the XML parser to take responsibility for the dereferencing. A subclass may choose to dereference the URI at this point an place an InputStream in the SAXSource.
      Parameters:
        `source` - the SAXSource being initialized
        `uriString` - the absolute (resolved) URI to be used

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.