| java.lang.Object net.sf.saxon.expr.ComputedExpression net.sf.saxon.expr.SimpleExpression
SimpleExpression | abstract public class SimpleExpression extends ComputedExpression (Code) | | An abstract implementation of Expression designed to make it easy to implement new expressions,
in particular, expressions to support extension instructions.
|
SimpleExpression | public SimpleExpression()(Code) | | Constructor
|
computeCardinality | public int computeCardinality()(Code) | | Determine the static cardinality of the expression. This implementation
returns "zero or more", which can be overridden in a subclass.
|
computeDependencies | public int computeDependencies()(Code) | | Compute the dependencies of an expression, as the union of the
dependencies of its subexpressions. (This is overridden for path expressions
and filter expressions, where the dependencies of a subexpression are not all
propogated). This method should be called only once, to compute the dependencies;
after that, getDependencies should be used.
the depencies, as a bit-mask |
display | public void display(int level, NamePool pool, PrintStream out)(Code) | | Diagnostic print of expression structure. The expression is written to the System.err
output stream
Parameters: level - indentation level for this expression Parameters: out - |
evaluateItem | public Item evaluateItem(XPathContext context) throws XPathException(Code) | | Evaluate an expression as a single item. This always returns either a single Item or
null (denoting the empty sequence). No conversion is done. This method should not be
used unless the static type of the expression is a subtype of "item" or "item?": that is,
it should not be called if the expression may return a sequence. There is no guarantee that
this condition will be detected.
Parameters: context - The context in which the expression is to be evaluated exception: XPathException - if any dynamic error occurs evaluating theexpression the node or atomic value that results from evaluating theexpression; or null to indicate that the result is an emptysequence |
getExpressionType | public String getExpressionType()(Code) | | Return a distinguishing name for the expression, for use in diagnostics.
By default the class name is used.
|
getItemType | public ItemType getItemType(TypeHierarchy th)(Code) | | Determine the data type of the items returned by this expression. This implementation
returns "item()", which can be overridden in a subclass.
the data type Parameters: th - |
iterate | public SequenceIterator iterate(XPathContext context) throws XPathException(Code) | | Return an Iterator to iterate over the values of a sequence. The value of every
expression can be regarded as a sequence, so this method is supported for all
expressions. This default implementation handles iteration for expressions that
return singleton values: for non-singleton expressions, the subclass must
provide its own implementation.
exception: XPathException - if any dynamic error occurs evaluating theexpression Parameters: context - supplies the context for evaluation a SequenceIterator that can be used to iterate over the resultof the expression |
iterateSubExpressions | public Iterator iterateSubExpressions()(Code) | | Get the immediate sub-expressions of this expression.
an array containing the sub-expressions of this expression |
process | public void process(XPathContext context) throws XPathException(Code) | | Process the instruction, without returning any tail calls
Parameters: context - The dynamic context, giving access to the current node,the current variables, etc. |
promote | public Expression promote(PromotionOffer offer) throws XPathException(Code) | | Offer promotion for this subexpression. The offer will be accepted if the subexpression
is not dependent on the factors (e.g. the context item) identified in the PromotionOffer.
By default the offer is not accepted - this is appropriate in the case of simple expressions
such as constant values and variable references where promotion would give no performance
advantage. This method is always called at compile time.
Parameters: offer - details of the offer, for example the offer to moveexpressions that don't depend on the context to an outer level inthe containing expression exception: XPathException - if any error is detected if the offer is not accepted, return this expression unchanged.Otherwise return the result of rewriting the expression to promotethis subexpression |
setArguments | public void setArguments(Expression[] sub)(Code) | | Set the immediate sub-expressions of this expression.
Parameters: sub - an array containing the sub-expressions of this expression |
|
|