net.sf.saxon.functions
Class Component

java.lang.Object
  extended by net.sf.saxon.expr.Expression
      extended by net.sf.saxon.expr.FunctionCall
          extended by net.sf.saxon.functions.SystemFunction
              extended by net.sf.saxon.functions.Component
All Implemented Interfaces:
Serializable, SourceLocator, LocationProvider, SaxonLocator, InstructionInfo, 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
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
Component()
           
 
Method Summary
 Expression copy()
          Copy an expression.
 Item evaluateItem(XPathContext context)
          Evaluate the expression
 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.
 int getRequiredComponent()
          Get the required component
 String getRequiredComponentAsString()
          Get the required component name as a string
 Expression 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, setDetails, 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
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

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
Constructor Detail

Component

public 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 class FunctionCall
Parameters:
visitor - an expression visitor
Returns:
the simplified expression
Throws:
XPathException - if an error is discovered during expression rewriting

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 class Expression
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 String getRequiredComponentAsString()
Get the required component name as a string


evaluateItem

public Item evaluateItem(XPathContext context)
                  throws XPathException
Evaluate the expression

Overrides:
evaluateItem in class Expression
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 class SystemFunction
Returns:
the copy of the original expression


Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.