Package net.sf.saxon

Class StandardURIResolver

  • All Implemented Interfaces:
    java.io.Serializable, javax.xml.transform.URIResolver, NonDelegatingURIResolver
    Direct Known Subclasses:
    XomUriResolver

    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.
    Author:
    Michael H. Kay
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Configuration getConfiguration()
      Get the configuration if available
      protected Platform getPlatform()
      Get the relevant platform
      protected javax.xml.transform.Source getPTreeSource​(java.lang.String href, java.lang.String base)
      Handle a PTree source file (Saxon-SA only)
      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 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​(javax.xml.transform.sax.SAXSource source, java.lang.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()
        Deprecated.
        since 8.7
        Create a StandardURIResolver, with no reference to a Configuration. This constructor is not used internally by Saxon, but it may be used by user-written application code. It is deprecated because the StandardURIResolver works best when the Configuration is known.
      • StandardURIResolver

        public StandardURIResolver​(Configuration config)
        Create a StandardURIResolver, with a reference to a Configuration
        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.
      • 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 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
      • 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)
        Parameters:
        href - the relative URI
        base - the base URI
        Returns:
        the new Source object
        Throws:
        XPathException
      • setSAXInputSource

        protected void setSAXInputSource​(javax.xml.transform.sax.SAXSource source,
                                         java.lang.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