Class ResolveURI

    • Field Detail

      • expressionBaseURI

        java.lang.String expressionBaseURI
    • Constructor Detail

      • ResolveURI

        public ResolveURI()
    • Method Detail

      • getStaticBaseURI

        public java.lang.String getStaticBaseURI()
        Get the static base URI of the expression
        Returns:
        the base URI from the static context
      • copy

        public Expression copy()
        Copy an expression. This makes a deep copy.
        Overrides:
        copy in class SystemFunction
        Returns:
        the copy of the original expression
      • equals

        public boolean equals​(java.lang.Object o)
        Determine whether two expressions are equivalent
        Overrides:
        equals in class SystemFunction
      • evaluateItem

        public Item evaluateItem​(XPathContext context)
                          throws XPathException
        Evaluate the function at run-time
        Overrides:
        evaluateItem in class Expression
        Parameters:
        context - The context in which the expression is to be evaluated
        Returns:
        the node or atomic value that results from evaluating the expression; or null to indicate that the result is an empty sequence
        Throws:
        XPathException - if any dynamic error occurs evaluating the expression
      • call

        public SequenceIterator call​(SequenceIterator[] arguments,
                                     XPathContext context)
                              throws XPathException
        Evaluate the expression
        Specified by:
        call in interface CallableExpression
        Parameters:
        arguments - the values of the arguments, supplied as SequenceIterators
        context - the dynamic evaluation context
        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
      • 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