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:
java.io.Serializable
,javax.xml.transform.SourceLocator
,LocationProvider
,SaxonLocator
,InstructionInfo
,org.xml.sax.Locator
public class Component extends SystemFunction
This class supports the get_X_from_Y functions defined in XPath 2.0- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
component
static int
DAY
static int
HOURS
static int
LOCALNAME
static int
MICROSECONDS
static int
MINUTES
static int
MONTH
static int
NAMESPACE
static int
PREFIX
static int
SECONDS
static int
TIMEZONE
static int
WHOLE_SECONDS
static int
YEAR
static int
YEAR_ALLOWING_ZERO
-
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 Constructor Description Component()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
copy()
Copy an expression.Item
evaluateItem(XPathContext context)
Evaluate the expressionIntegerValue[]
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.int
getRequiredComponent()
Get the required componentjava.lang.String
getRequiredComponentAsString()
Get the required component name as a stringvoid
setDetails(StandardFunction.Entry entry)
Set the details of this type of functionExpression
simplify(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 Detail
-
YEAR
public static final int YEAR
- See Also:
- Constant Field Values
-
MONTH
public static final int MONTH
- See Also:
- Constant Field Values
-
DAY
public static final int DAY
- See Also:
- Constant Field Values
-
HOURS
public static final int HOURS
- See Also:
- Constant Field Values
-
MINUTES
public static final int MINUTES
- See Also:
- Constant Field Values
-
SECONDS
public static final int SECONDS
- See Also:
- Constant Field Values
-
TIMEZONE
public static final int TIMEZONE
- See Also:
- Constant Field Values
-
LOCALNAME
public static final int LOCALNAME
- See Also:
- Constant Field Values
-
NAMESPACE
public static final int NAMESPACE
- See Also:
- Constant Field Values
-
PREFIX
public static final int PREFIX
- See Also:
- Constant Field Values
-
MICROSECONDS
public static final int MICROSECONDS
- See Also:
- Constant Field Values
-
WHOLE_SECONDS
public static final int WHOLE_SECONDS
- See Also:
- Constant Field Values
-
YEAR_ALLOWING_ZERO
public static final int YEAR_ALLOWING_ZERO
- See Also:
- Constant Field Values
-
component
int component
-
-
Method Detail
-
simplify
public Expression simplify(ExpressionVisitor visitor) throws XPathException
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
public void setDetails(StandardFunction.Entry entry)
Set the details of this type of function- Overrides:
setDetails
in classSystemFunction
- Parameters:
entry
- information giving details of the function signature
-
getIntegerBounds
public IntegerValue[] 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
public java.lang.String getRequiredComponentAsString()
Get the required component name as a string
-
evaluateItem
public Item evaluateItem(XPathContext context) throws XPathException
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
public Expression copy()
Copy an expression. This makes a deep copy.- Overrides:
copy
in classSystemFunction
- Returns:
- the copy of the original expression
-
-