Interface UnparsedTextURIResolver

  • All Known Implementing Classes:
    StandardUnparsedTextResolver
    Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

    @FunctionalInterface
    public interface UnparsedTextURIResolver
    An UnparsedTextURIResolver accepts an absolute URI and optionally an encoding name as input, and returns a Reader as its result.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.io.Reader resolve​(java.net.URI absoluteURI, java.lang.String encoding, Configuration config)
      Resolve the URI passed to the XSLT unparsed-text() function, after resolving against the base URI.
    • Method Detail

      • resolve

        java.io.Reader resolve​(java.net.URI absoluteURI,
                               java.lang.String encoding,
                               Configuration config)
                        throws XPathException
        Resolve the URI passed to the XSLT unparsed-text() function, after resolving against the base URI.

        The resolver is called by the functions unparsed-text(), unparsed-text-lines(), unparsed-text-available(), and json-doc().

        Note that a user-written resolver is responsible for enforcing some of the rules in the XSLT specification, such as the rules for inferring an encoding when none is supplied. Saxon will not report any error if the resolver does this in a non-conformant way.

        Parameters:
        absoluteURI - the absolute URI obtained by resolving the supplied URI against the base URI
        encoding - the encoding requested in the call of unparsed-text(), if any. Otherwise null.
        config - The Saxon configuration. Provided in case the URI resolver needs it.
        Returns:
        a Reader, which Saxon will use to read the unparsed text. After the text has been read, the close() method of the Reader will be called. Returning null is not acceptable; if the resolver wishes to delegate to the standard resolver, it can do this by subclassing StandardUnparsedTextResolver and calling super.resolve(...).
        Throws:
        XPathException - if any failure occurs
        Since:
        8.9