com.icl.saxon.expr
public abstract class Expression extends Object
Field Summary | |
---|---|
protected StaticContext | staticContext |
Method Summary | |
---|---|
boolean | containsReferences()
Determine whether the expression contains any references to variables |
abstract void | display(int level)
Diagnostic print of expression structure |
NodeEnumeration | enumerate(Context context, boolean sorted)
Return an enumeration of nodes in a nodeset. |
abstract Value | evaluate(Context context)
Evaluate an expression. |
boolean | evaluateAsBoolean(Context context)
Evaluate an expression as a Boolean. The result of x.evaluateAsBoolean(c) must be equivalent to x.evaluate(c).asBoolean(); but optimisations are possible when it is known that a boolean result is required, especially in the case of a NodeSet. |
NodeSetValue | evaluateAsNodeSet(Context context)
Evaluate an expression as a NodeSet. |
double | evaluateAsNumber(Context context)
Evaluate an expression as a Number. The result of x.evaluateAsNumber(c) must be equivalent to x.evaluate(c).asNumber(); but optimisations are possible when it is known that a numeric result is required, especially in the case of a NodeSet. |
String | evaluateAsString(Context context)
Evaluate an expression as a String. The result of x.evaluateAsString(c) must be equivalent to x.evaluate(c).asString(); but optimisations are possible when it is known that a string result is required, especially in the case of a NodeSet. |
abstract int | getDataType()
Determine the data type of the expression, if possible |
abstract int | getDependencies()
Determine which aspects of the context the expression depends on. |
StaticContext | getStaticContext()
Determine the static context used when the expression was parsed |
protected static String | indent(int level)
Construct indent string, for diagnostic output |
boolean | isContextDocumentNodeSet()
Determine, in the case of an expression whose data type is Value.NODESET,
whether all the nodes in the node-set are guaranteed to come from the same
document as the context node. |
static Expression | make(String expression, StaticContext env)
Parse an expression |
void | outputStringValue(Outputter out, Context context)
Evaluate an expression as a String and write the result to the
specified outputter. |
abstract Expression | reduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies
on the context. |
void | setStaticContext(StaticContext sc)
Set the static context used when the expression was parsed |
Expression | simplify()
Simplify an expression. |
boolean | usesCurrent()
Determine whether the expression uses the current() function. |
Returns: true if so
Parameters: context The context in which the expression is to be evaluated sorted Indicates whether the nodes are required in document order. If this is false, they may come in any order, but there will be no duplicates.
Throws: XPathException when the expression does not return a nodeset.
Parameters: context The context in which the expression is to be evaluated
Returns: the value of the expression, evaluated in the current context
Parameters: context The context in which the expression is to be evaluated
Returns: the value of the expression, evaluated in the current context
Parameters: context The context in which the expression is to be evaluated
Returns: the value of the expression, evaluated in the current context. Note that the result is not necessarily in document order; to get it into document order, call sort() on the result.
Throws: XPathException when the expression does not return a nodeset.
Parameters: context The context in which the expression is to be evaluated
Returns: the value of the expression, evaluated in the current context
Parameters: context The context in which the expression is to be evaluated
Returns: the value of the expression, evaluated in the current context
Returns: one of the values Value.STRING, Value.BOOLEAN, Value.NUMBER, Value.NODESET, Value.FRAGMENT, or Value.ANY (meaning not known in advance)
Parameters: expression The expression (as a character string) env An object giving information about the compile-time context of the expression
Returns: an object of type Expression
Parameters: out The required outputter context The context in which the expression is to be evaluated
Parameters: dependencies The dependencies to be removed, e.g. Context.VARIABLES context The context to be used for the partial evaluation
Returns: a new expression (or Value) that does not have any of the specified dependencies
Returns: the simplified expression