Class ResourceRequest

java.lang.Object
net.sf.saxon.lib.ResourceRequest

public class ResourceRequest extends Object
A bundle of information made available when requesting resource resolution. Any of these properties may be absent.
  • Field Details

    • TEXT_NATURE

      public static final String TEXT_NATURE
      See Also:
    • BINARY_NATURE

      public static final String BINARY_NATURE
      See Also:
    • XQUERY_NATURE

      public static final String XQUERY_NATURE
      See Also:
    • XSLT_NATURE

      public static final String XSLT_NATURE
      See Also:
    • XSD_NATURE

      public static final String XSD_NATURE
      See Also:
    • XML_NATURE

      public static final String XML_NATURE
      See Also:
    • DTD_NATURE

      public static final String DTD_NATURE
      See Also:
    • EXTERNAL_ENTITY_NATURE

      public static final String EXTERNAL_ENTITY_NATURE
      See Also:
    • ANY_PURPOSE

      public static final String ANY_PURPOSE
    • SCHEMA_NATURE

      public static final String SCHEMA_NATURE
      See Also:
    • VALIDATION_PURPOSE

      public static final String VALIDATION_PURPOSE
      See Also:
    • ANY_NATURE

      public static final String ANY_NATURE
    • uri

      public String uri
      The URI to be dereferenced. If the request was for a relative URI reference, this will be the absolute URI after resolving against the base URI if known; if no base URI is known, it will be the URI as requested.
    • baseUri

      public String baseUri
      The base URI that was used to resolve any relative URI, if known.
    • relativeUri

      public String relativeUri
      The relative URI that was actually requested, where applicable.
    • publicId

      public String publicId
      The public ID of the requested resource, where applicable
    • entityName

      public String entityName
      The name of the requested resource, used when resolving entity references
    • nature

      public String nature
      The Nature of the resource, as defined in the RDDL specifications (based on the role attribute in XLink). Some of the allowed values are provided as constants, for example TEXT_NATURE, XSLT_NATURE, XQUERY_NATURE.
    • purpose

      public String purpose
      The Purpose of the request, as defined in the RDDL specifications (based on the arcrole attribute in XLink).
    • uriIsNamespace

      public boolean uriIsNamespace
      This boolean flag is set to true when the URI takes the form of a namespace URI (rather than a location hint). Specifically, it is set when resolving an import module declaration in XQuery when only the module namespace is known, and when resolving an xsl:import, or an XML Schema import in XSLT or XQuery, if only the target namespace of the required schema document is known.
    • streamable

      public boolean streamable
      This boolean flag is set to true when the URI identifies a document where streamed processing is required. In this case the result must be a StreamSource or SAXSource
    • requestedEncoding

      public String requestedEncoding
      If the encoding is specified out of band, it can be provided here. Requesting an encoding doesn't gaurantee that it'll be used. For example, HTTP headers might override it.
  • Constructor Details

    • ResourceRequest

      public ResourceRequest()
  • Method Details

    • copy

      public ResourceRequest copy()
      Make a copy of a resource request (so that it can be modified without changing the original)
      Returns:
      a copy of the request
    • resolve

      public Source resolve(ResourceResolver... resolvers) throws XPathException
      Resolve the request by passing it to one or more resource resolvers. The resolvers are tried in turn until one of them returns a non-null result; if the final result is null, this method returns null
      Parameters:
      resolvers - the resource resolvers to be used
      Returns:
      the result from the first resolver that returns a non-null result; or null if none of them does so.
      Throws:
      XPathException