Package net.sf.saxon.functions
Class AccessorFn
- java.lang.Object
-
- net.sf.saxon.functions.AbstractFunction
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.ScalarSystemFunction
-
- net.sf.saxon.functions.AccessorFn
-
- All Implemented Interfaces:
Callable
,FunctionItem
,GroundedValue
,Item
,Sequence
- Direct Known Subclasses:
AccessorFn.DayFromDate
,AccessorFn.DayFromDateTime
,AccessorFn.DaysFromDuration
,AccessorFn.HoursFromDateTime
,AccessorFn.HoursFromDuration
,AccessorFn.HoursFromTime
,AccessorFn.LocalNameFromQName
,AccessorFn.MinutesFromDateTime
,AccessorFn.MinutesFromDuration
,AccessorFn.MinutesFromTime
,AccessorFn.MonthFromDate
,AccessorFn.MonthFromDateTime
,AccessorFn.MonthsFromDuration
,AccessorFn.NamespaceUriFromQName
,AccessorFn.PrefixFromQName
,AccessorFn.SecondsFromDateTime
,AccessorFn.SecondsFromDuration
,AccessorFn.SecondsFromTime
,AccessorFn.TimezoneFromDate
,AccessorFn.TimezoneFromDateTime
,AccessorFn.TimezoneFromTime
,AccessorFn.YearFromDate
,AccessorFn.YearFromDateTime
,AccessorFn.YearsFromDuration
public abstract class AccessorFn extends ScalarSystemFunction
This class supports the get_X_from_Y functions defined in XPath 2.0
-
-
Nested Class Summary
-
Constructor Summary
Constructors Constructor Description AccessorFn()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AtomicValue
evaluate(Item item, XPathContext context)
Evaluate the expressionabstract AccessorFn.Component
getComponentId()
Elaborator
getElaborator()
Make an elaborator for this 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.-
Methods inherited from class net.sf.saxon.functions.ScalarSystemFunction
call, makeFunctionCall, resultWhenEmpty
-
Methods inherited from class net.sf.saxon.functions.SystemFunction
dependsOnContextItem, dynamicCall, equals, export, exportAdditionalArguments, exportAttributes, fixArguments, getArity, getCardinality, getContextNode, getDescription, getDetails, getErrorCodeForTypeErrors, getFunctionItemType, getFunctionName, getNetCost, getOperandRoles, getRequiredType, getResultItemType, getResultItemType, getRetainedStaticContext, getSpecialProperties, getStaticBaseUriString, getStreamerName, getUniStringArg, hashCode, importAttributes, isSequenceVariadic, isTrustedResultType, makeCall, makeFunction, makeFunction40, makeOptimizedFunctionCall, resultIfEmpty, setArity, setDetails, setRetainedStaticContext, supplyTypeInformation, toShortString, toString, typeCheckCaller
-
Methods inherited from class net.sf.saxon.functions.AbstractFunction
atomize, deepEqual40, deepEquals, effectiveBooleanValue, getAnnotations, getUnicodeStringValue, isArray, isMap, makeNewContext, simplify, typeCheck
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.om.FunctionItem
getGenre
-
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
-
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, head, isStreamed, itemAt, iterate, reduce, subsequence
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Method Detail
-
getComponentId
public abstract AccessorFn.Component getComponentId()
-
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 classSystemFunction
- Returns:
- the lower and upper bounds of integer values in the result, or null to indicate unknown or not applicable.
-
evaluate
public AtomicValue evaluate(Item item, XPathContext context) throws XPathException
Evaluate the expression- Specified by:
evaluate
in classScalarSystemFunction
- Parameters:
item
- the supplied argumentcontext
- the dynamic context- Returns:
- the result of the evaluation
- Throws:
XPathException
- if a dynamic error occurs
-
getElaborator
public Elaborator getElaborator()
Make an elaborator for this expression- Overrides:
getElaborator
in classSystemFunction
- Returns:
- a suitable elaborator
-
-