Package net.sf.saxon.functions
Class Id
- java.lang.Object
-
- net.sf.saxon.expr.ComputedExpression
-
- net.sf.saxon.expr.FunctionCall
-
- net.sf.saxon.functions.SystemFunction
-
- net.sf.saxon.functions.Id
-
- All Implemented Interfaces:
java.io.Serializable
,javax.xml.transform.SourceLocator
,Container
,Expression
,InstructionInfoProvider
public class Id extends SystemFunction
The XPath id() function XPath 2.0 version: accepts any sequence as the first parameter; each item in the sequence is taken as an IDREFS value, that is, a space-separated list of ID values. Also accepts an optional second argument to identify the target document, this defaults to the context node.- See Also:
- Serialized Form
-
-
Field Summary
-
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.ComputedExpression
locationId, staticProperties
-
Fields inherited from interface net.sf.saxon.expr.Expression
EVALUATE_METHOD, ITERATE_METHOD, PROCESS_METHOD
-
-
Constructor Summary
Constructors Constructor Description Id()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
checkArguments(StaticContext env)
Static analysis: prevent sorting of the argumentint
computeSpecialProperties()
Get the static properties of this expression (other than its type).SequenceIterator
iterate(XPathContext context)
Evaluate the function to return an iteration of selected nodes.Expression
preEvaluate(StaticContext env)
preEvaluate: this method suppresses compile-time evaluation by doing nothingExpression
simplify(StaticContext env)
Simplify: add a second implicit argument, the context document-
Methods inherited from class net.sf.saxon.functions.SystemFunction
addContextDocumentArgument, computeCardinality, display, getDetails, getErrorCodeForTypeErrors, getItemType, getRequiredType, main, makeSystemFunction, setDetails, useContextItemAsDefault
-
Methods inherited from class net.sf.saxon.expr.FunctionCall
checkArgumentCount, getArguments, getDisplayName, getFunctionNameCode, getNumberOfArguments, iterateSubExpressions, optimize, promote, replaceSubExpression, setArguments, setFunctionNameCode, simplifyArguments, typeCheck
-
Methods inherited from class net.sf.saxon.expr.ComputedExpression
adoptChildExpression, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluateAsString, evaluateItem, getCardinality, getColumnNumber, getConstructType, getDependencies, getExecutable, getHostLanguage, getImplementationMethod, getInstructionInfo, getIntrinsicDependencies, getLineNumber, getLocationId, getLocationProvider, getParentExpression, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, hasBadParentPointer, markTailFunctionCalls, process, resetStaticProperties, setLocationId, setParentExpression, setParentExpression, suppressValidation, typeError
-
-
-
-
Method Detail
-
simplify
public Expression simplify(StaticContext env) throws XPathException
Simplify: add a second implicit argument, the context document- Specified by:
simplify
in interfaceExpression
- Overrides:
simplify
in classFunctionCall
- Parameters:
env
- the static context- Returns:
- the simplified expression
- Throws:
XPathException
- if an error is discovered during expression rewriting
-
checkArguments
public void checkArguments(StaticContext env) throws XPathException
Static analysis: prevent sorting of the argument- Overrides:
checkArguments
in classSystemFunction
- Throws:
XPathException
-
preEvaluate
public Expression preEvaluate(StaticContext env)
preEvaluate: this method suppresses compile-time evaluation by doing nothing- Overrides:
preEvaluate
in classFunctionCall
-
computeSpecialProperties
public int computeSpecialProperties()
Get the static properties of this expression (other than its type). The result is bit-signficant. These properties are used for optimizations. In general, if property bit is set, it is true, but if it is unset, the value is unknown.- Overrides:
computeSpecialProperties
in classSystemFunction
-
iterate
public SequenceIterator iterate(XPathContext context) throws XPathException
Evaluate the function to return an iteration of selected nodes.- Specified by:
iterate
in interfaceExpression
- Overrides:
iterate
in classComputedExpression
- Parameters:
context
- supplies the context for evaluation- Returns:
- a SequenceIterator that can be used to iterate over the result of the expression
- Throws:
XPathException
- if any dynamic error occurs evaluating the expression
-
-