Package net.sf.saxon.functions
Class Component
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.FunctionCall
net.sf.saxon.functions.SystemFunction
net.sf.saxon.functions.Component
- All Implemented Interfaces:
Serializable
,SourceLocator
,LocationProvider
,SaxonLocator
,InstructionInfo
,Locator
This class supports the get_X_from_Y functions defined in XPath 2.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
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
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Copy an expression.evaluateItem
(XPathContext context) Evaluate the expressionFor an expression that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis.int
Get the required componentGet the required component name as a stringvoid
setDetails
(StandardFunction.Entry entry) Set the details of this type of functionsimplify
(ExpressionVisitor visitor) Simplify the function call.Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, addDocToPathMap, checkArguments, computeCardinality, computeSpecialProperties, equals, getDetails, getErrorCodeForTypeErrors, getImplementationMethod, getItemType, getOperation, getRequiredType, makeSystemFunction, optimize, 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, 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, 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
-
Field Details
-
YEAR
public static final int YEAR- See Also:
-
MONTH
public static final int MONTH- See Also:
-
DAY
public static final int DAY- See Also:
-
HOURS
public static final int HOURS- See Also:
-
MINUTES
public static final int MINUTES- See Also:
-
SECONDS
public static final int SECONDS- See Also:
-
TIMEZONE
public static final int TIMEZONE- See Also:
-
LOCALNAME
public static final int LOCALNAME- See Also:
-
NAMESPACE
public static final int NAMESPACE- See Also:
-
PREFIX
public static final int PREFIX- See Also:
-
MICROSECONDS
public static final int MICROSECONDS- See Also:
-
WHOLE_SECONDS
public static final int WHOLE_SECONDS- See Also:
-
YEAR_ALLOWING_ZERO
public static final int YEAR_ALLOWING_ZERO- See Also:
-
component
int component
-
-
Constructor Details
-
Component
public Component()
-
-
Method Details
-
simplify
Description copied from class:FunctionCall
Simplify the function call. Default method is to simplify each of the supplied arguments and evaluate the function if all are now known.- Overrides:
simplify
in classFunctionCall
- Parameters:
visitor
- an expression visitor- Returns:
- the simplified expression
- Throws:
XPathException
- if an error is discovered during expression rewriting
-
setDetails
Set the details of this type of function- Overrides:
setDetails
in classSystemFunction
- Parameters:
entry
- information giving details of the function signature
-
getIntegerBounds
For an expression that returns an integer or a sequence of integers, get a lower and upper bound on the values of the integers that may be returned, from static analysis. The default implementation returns null, meaning "unknown" or "not applicable". Other implementations return an array of two IntegerValue objects, representing the lower and upper bounds respectively. The values UNBOUNDED_LOWER and UNBOUNDED_UPPER are used by convention to indicate that the value may be arbitrarily large. The values MAX_STRING_LENGTH and MAX_SEQUENCE_LENGTH are used to indicate values limited by the size of a string or the size of a sequence.- Overrides:
getIntegerBounds
in classExpression
- Returns:
- the lower and upper bounds of integer values in the result, or null to indicate unknown or not applicable.
-
getRequiredComponent
public int getRequiredComponent()Get the required component -
getRequiredComponentAsString
Get the required component name as a string -
evaluateItem
Evaluate the expression- Overrides:
evaluateItem
in 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
-
copy
Copy an expression. This makes a deep copy.- Overrides:
copy
in classSystemFunction
- Returns:
- the copy of the original expression
-