Class ResolveURI

    • Constructor Detail

      • ResolveURI

        public ResolveURI()
    • Method Detail

      • call

        public Sequence call​(XPathContext context,
                             Sequence[] arguments)
                      throws XPathException
        Evaluate the expression
        Parameters:
        context - the dynamic evaluation context
        arguments - the values of the arguments, supplied as SequenceIterators
        Returns:
        the result of the evaluation, in the form of a SequenceIterator
        Throws:
        XPathException - if a dynamic error occurs during the evaluation of the expression
      • absoluteOrRelativeURI

        public static java.net.URI absoluteOrRelativeURI​(java.lang.String href)
                                                  throws java.net.URISyntaxException
        Throws:
        java.net.URISyntaxException
      • tryToExpand

        public static java.lang.String tryToExpand​(java.lang.String systemId)
        If a system ID can't be parsed as a URL, try to expand it as a relative URI using the current directory as the base URI.
        Parameters:
        systemId - the supplied systemId. Null is treated as equivalent to ""
        Returns:
        the systemId itself if it is a valid URL; otherwise the result of resolving the systemId as a relative file name in the current working directory; or if the current working directory is not available (e.g. in an applet) the supplied systemId unchanged (except that null is treated as "").
      • makeAbsolute

        public static java.net.URI makeAbsolute​(java.lang.String relativeURI,
                                                java.lang.String base)
                                         throws java.net.URISyntaxException
        Construct an absolute URI from a relative URI and a base URI. The method uses the resolve method of the java.net.URI class, except where the base URI uses the (non-standard) "jar:" scheme, in which case the method used is new URL(baseURL, relativeURL).

        Spaces in either URI are converted to %20

        If no base URI is available, and the relative URI is not an absolute URI, then the current directory is used as a base URI.

        Parameters:
        relativeURI - the relative URI. Null is permitted provided that the base URI is an absolute URI
        base - the base URI. Null is permitted provided that relativeURI is an absolute URI
        Returns:
        the absolutized URI
        Throws:
        java.net.URISyntaxException - if either of the strings is not a valid URI or if the resolution fails
      • escapeSpaces

        public static java.lang.String escapeSpaces​(java.lang.String s)
        Replace spaces by %20
        Parameters:
        s - the input string
        Returns:
        the input string with each space replaced by %20
      • unescapeSpaces

        public static java.lang.String unescapeSpaces​(java.lang.String uri)
        Replace %20 by space
        Parameters:
        uri - the input uri
        Returns:
        the input URI with each %20 replaced by space