public class ResolveURI extends SystemFunction
Modifier and Type | Field and Description |
---|---|
(package private) String |
expressionBaseURI |
operation
argument
EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, PROCESS_METHOD, PUSH_SELECTION, staticProperties, WATCH_METHOD
Constructor and Description |
---|
ResolveURI() |
Modifier and Type | Method and Description |
---|---|
void |
checkArguments(ExpressionVisitor visitor)
Method called during static type checking
|
Expression |
copy()
Copy an expression.
|
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, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefault
addExternalFunctionCallToPathMap, checkArgumentCount, equals, 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, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasLoopingSubexpression, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterate, iterateEvents, iterateSameFocusSubExpressions, markTailFunctionCalls, process, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, typeError
String expressionBaseURI
public void checkArguments(ExpressionVisitor visitor) throws XPathException
SystemFunction
checkArguments
in class SystemFunction
visitor
- the expression visitorXPathException
public String getStaticBaseURI()
public Expression copy()
copy
in class SystemFunction
public Item evaluateItem(XPathContext context) throws XPathException
evaluateItem
in interface EvaluableItem
evaluateItem
in class Expression
context
- The context in which the expression is to be evaluatedXPathException
- if any dynamic error occurs evaluating the
expressionpublic static String tryToExpand(String systemId)
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