Class EncodeForUri

    • Constructor Detail

      • EncodeForUri

        public EncodeForUri()
    • Method Detail

      • resultWhenEmpty

        public Sequence resultWhenEmpty()
        Description copied from class: ScalarSystemFunction
        Method that may be supplied in subclasses, to indicate the result that is returned when an empty sequence is supplied as the argument value. The default is to return the empty sequence
        Overrides:
        resultWhenEmpty in class ScalarSystemFunction
        Returns:
        the result of evaluation when the supplied argument is an empty sequence
      • escape

        public static StringValue escape​(UnicodeString s,
                                         java.lang.String allowedPunctuation)
        Escape special characters in a URI. The characters that are %HH-encoded are all non-ASCII characters, plus all ASCII characters except (a) letter A-Z and a-z, (b) digits 0-9, and (c) characters listed in the allowedPunctuation argument
        Parameters:
        s - the URI to be escaped
        allowedPunctuation - ASCII characters other than letters and digits that should NOT be %HH-encoded
        Returns:
        the %HH-encoded string
      • escapeChar

        public static void escapeChar​(int cp,
                                      UnicodeBuilder sb)
        Escape a single character in %HH representation, or a pair of two chars representing a surrogate pair
        Parameters:
        cp - the codepoint to be escaped,
        sb - the buffer to contain the escaped result
      • checkPercentEncoding

        public static void checkPercentEncoding​(java.lang.String uri)
                                         throws XPathException
        Check that any percent-encoding within a URI is well-formed. The method assumes that a percent sign followed by two hex digits represents an octet of the UTF-8 representation of a character; any other percent sign is assumed to represent itself.
        Parameters:
        uri - the string to be checked for validity
        Throws:
        XPathException - if the string is not validly percent-encoded