Package net.sf.saxon.functions
Class SystemProperty
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.SystemProperty
- All Implemented Interfaces:
Serializable,SourceLocator,LocationProvider,SaxonLocator,CallableExpression,InstructionInfo,Locator
Implementation of the XSLT system-property() function
- See Also:
-
Field Summary
Fields inherited from class net.sf.saxon.functions.SystemFunction
operationFields inherited from class net.sf.saxon.expr.FunctionCall
argumentFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncall(SequenceIterator[] arguments, XPathContext context) Evaluate the expressionvoidcheckArguments(ExpressionVisitor visitor) Method called during static type checkingevaluateItem(XPathContext context) Evaluate the function at run-timestatic StringgetProperty(String uri, String local, Configuration config) Here's the real code:preEvaluate(ExpressionVisitor visitor) preEvaluate: this method performs compile-time evaluation for properties in the XSLT namespace onlyMethods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, computeCardinality, computeSpecialProperties, copy, equals, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, setDetails, useContextItemAsDefaultMethods inherited from class net.sf.saxon.expr.FunctionCall
addExternalFunctionCallToPathMap, checkArgumentCount, explain, getArguments, getDisplayName, getExpressionName, getFunctionName, getNumberOfArguments, hashCode, iterateSubExpressions, promote, replaceSubExpression, setArguments, setFunctionName, simplify, simplifyArguments, toString, typeCheckMethods 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, typeErrorMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.sf.saxon.expr.CallableExpression
getArguments
-
Constructor Details
-
SystemProperty
public SystemProperty()
-
-
Method Details
-
checkArguments
Description copied from class:SystemFunctionMethod called during static type checking- Overrides:
checkArgumentsin classSystemFunction- Parameters:
visitor- the expression visitor- Throws:
XPathException- if the arguments are incorrect
-
preEvaluate
preEvaluate: this method performs compile-time evaluation for properties in the XSLT namespace only- Overrides:
preEvaluatein classFunctionCall- Parameters:
visitor- an expression visitor- Returns:
- the result of the early evaluation, or the original expression, or potentially a simplified expression
- Throws:
XPathException- if evaluation fails
-
evaluateItem
Evaluate the function at run-time- Overrides:
evaluateItemin classExpression- Parameters:
context- 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:
callin interfaceCallableExpression- Parameters:
arguments- the values of the arguments, supplied as SequenceIteratorscontext- 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
-
getProperty
Here's the real code:- Parameters:
uri- the namespace URI of the system property namelocal- the local part of the system property nameconfig- the Saxon configuration- Returns:
- the value of the corresponding system property
-