Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sf.saxon.functions
Class EscapeURI

    java.lang.Object
      net.sf.saxon.expr.Expression
          net.sf.saxon.expr.FunctionCall
              net.sf.saxon.functions.SystemFunction
                  net.sf.saxon.functions.EscapeURI

All Implemented Interfaces:
  Serializable, SourceLocator, LocationProvider, SaxonLocator, CallableExpression, InstructionInfo, Locator

    public class EscapeURI

extends SystemFunction
implements CallableExpression

This class supports the functions encode-for-uri() and iri-to-uri()

See Also:
  Serialized Form

Field Summary
`static boolean[]` | `allowedASCII`
`static int` | `ENCODE_FOR_URI`
`static int` | `HTML_URI`
`static int` | `IRI_TO_URI`

Fields inherited from class net.sf.saxon.functions.SystemFunction
`operation`

Fields inherited from class net.sf.saxon.expr.FunctionCall
`argument`

Fields inherited from class net.sf.saxon.expr.Expression
`EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD`

Constructor Summary
`EscapeURI()`

Method Summary
`SequenceIterator` | `call(SequenceIterator[] arguments, XPathContext context)` Evaluate the expression
`static void` | `checkPercentEncoding(String uri)` Check that any percent-encoding within a URI is well-formed.
`static CharSequence` | `escape(CharSequence s, String allowedPunctuation)` Escape special characters in a URI.
`Item` | `evaluateItem(XPathContext c)` Evaluate the function
`static CharSequence` | `iriToUri(CharSequence s)` Escape special characters in a URI.

Methods inherited from class net.sf.saxon.functions.SystemFunction
`addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, copy, equals, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault`

Methods inherited from class net.sf.saxon.expr.FunctionCall
`addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck`

Methods inherited from class net.sf.saxon.expr.Expression
`addToPathMap, adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getConstructType, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface net.sf.saxon.expr.CallableExpression
`getArguments`

Field Detail

### ENCODE_FOR_URI

    public static final int ENCODE_FOR_URI

See Also:
  Constant Field Values

### IRI_TO_URI

    public static final int IRI_TO_URI

See Also:
  Constant Field Values

### HTML_URI

    public static final int HTML_URI

See Also:
  Constant Field Values

### allowedASCII

    public static boolean[] allowedASCII

Constructor Detail

### EscapeURI

    public EscapeURI()

Method Detail

### evaluateItem

    public Item evaluateItem(XPathContext c)
                      throws XPathException

  Evaluate the function

  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

### 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

### 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

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.