Class EscapeURI

All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, SaxonLocator, EvaluableItem, SequenceIterable, InstructionInfo, Locator

public class EscapeURI extends SystemFunction
This class supports the functions encode-for-uri() and iri-to-uri()
See Also:
  • Field Details

  • Constructor Details

    • EscapeURI

      public EscapeURI()
  • Method Details

    • evaluateItem

      public Item evaluateItem(XPathContext c) throws XPathException
      Evaluate the function
      Specified by:
      evaluateItem in interface EvaluableItem
      Overrides:
      evaluateItem in class Expression
      Parameters:
      c - 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
    • iriToUri

      public static CharSequence iriToUri(CharSequence s)
      Escape special characters in a URI. The characters that are %HH-encoded are all non-ASCII characters
      Parameters:
      s - the URI to be escaped
      Returns:
      the %HH-encoded string
    • escape

      public static CharSequence escape(CharSequence s, 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
    • checkPercentEncoding

      public static void checkPercentEncoding(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