public class ResolveURI extends SystemFunction implements CallableExpression
Modifier and Type | Field and Description |
---|---|
(package private) String |
expressionBaseURI |
operation
argument
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 and Description |
---|
ResolveURI() |
Modifier and Type | Method and Description |
---|---|
SequenceIterator |
call(SequenceIterator[] arguments,
XPathContext context)
Evaluate the expression
|
void |
checkArguments(ExpressionVisitor visitor)
Method called during static type checking
|
Expression |
copy()
Copy an expression.
|
boolean |
equals(Object o)
Determine whether two expressions are equivalent
|
static String |
escapeSpaces(String s)
Replace spaces by %20
|
Item |
evaluateItem(XPathContext context)
Evaluate the function at run-time
|
String |
getStaticBaseURI()
Get the static base URI of the expression
|
static URI |
makeAbsolute(String relativeURI,
String base)
Construct an absolute URI from a relative URI and a base URI.
|
static String |
tryToExpand(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.
|
addContextDocumentArgument, addDocToPathMap, computeCardinality, computeSpecialProperties, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, preEvaluate, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheck
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
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getArguments
String expressionBaseURI
public void checkArguments(ExpressionVisitor visitor) throws XPathException
SystemFunction
checkArguments
in class SystemFunction
visitor
- the expression visitorXPathException
- if the arguments are incorrectpublic String getStaticBaseURI()
public Expression copy()
copy
in class SystemFunction
public boolean equals(Object o)
equals
in class SystemFunction
public Item evaluateItem(XPathContext context) throws XPathException
evaluateItem
in class Expression
context
- The context in which the expression is to be evaluatedXPathException
- if any dynamic error occurs evaluating the
expressionpublic SequenceIterator call(SequenceIterator[] arguments, XPathContext context) throws XPathException
call
in interface CallableExpression
arguments
- the values of the arguments, supplied as SequenceIteratorscontext
- the dynamic evaluation contextXPathException
- if a dynamic error occurs during the evaluation of the expressionpublic static String tryToExpand(String systemId)
systemId
- the supplied systemId. Null is treated as equivalent to ""public static URI makeAbsolute(String relativeURI, String base) throws URISyntaxException
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.
relativeURI
- the relative URI. Null is permitted provided that the base URI is an absolute URIbase
- the base URI. Null is permitted provided that relativeURI is an absolute URIURISyntaxException
- if either of the strings is not a valid URI or
if the resolution fails