## Package com.icl.saxon.expr

This package provides classes associated with XPath expression handling.

See:
Description

Interface Summary
LastPositionFinder: A LastPositionFinder is an object used by the Context to locate the last position in the context node list.
StaticContext: A StaticContext contains the information needed while an expression or pattern is being parsed.

Class Summary
AttributeValueTemplate: This class represents an attribute value template.
BooleanValue: A boolean XPath value
ContextNodeExpression: This class represents the expression ".", which always returns the context node.
DifferenceEnumeration: An enumeration representing a nodeset that is an intersection of two other NodeSets.
DistinctEnumeration: An enumeration returning the distinct nodes from a supplied nodeset
EmptyNodeSet: A node-set value no nodes
ErrorExpression: Error expression: this expression is generated when the supplied expression cannot be parsed, and the containing element enables forwards-compatible processing.
Expression: This class serves two purposes: it is an abstract superclass for different kinds of XPath expression, and it contains a static method to invoke the expression parser
ExpressionParser: Parser for XSL expressions and patterns.
FilterEnumerator: A FilterEnumerator filters an input NodeEnumeration using a filter expression.
FragmentValue: This class represents a Value of type result tree fragment.
Function: Abstract superclass for system-defined and user-defined functions
FunctionProxy: This class acts as a proxy for an extension function defined as a method in a user-defined class
IntersectionEnumeration: An enumeration representing a nodeset that is an intersection of two other NodeSets.
IsLastExpression: position()=last() expression
LookaheadEnumerator: A LookaheadEnumerator passes the nodes from a base enumerator throgh unchanged.
NodeListExpression: A NodeListExpression is an expression denoting a set of nodes sorted in document order.
NodeSetComparison: NodeSetComparison: A Relational Expression that compares a node-set with a string or numeric value for equals, not-equals, greater-than or less-than.
NodeSetExpression: A NodeSetExpression is any expression denoting a set of nodes.
NodeSetExtent: A node-set value implemented extensionally.
NodeSetIntent: A node-set value implemented intensionally.
NodeSetValue: A node-set value.
NumericValue: A numeric (floating point) value
ObjectValue: An XPath value that encapsulates a Java object.
ParentNodeExpression: Class ParentNodeExpression represents the XPath expression ".." or "parent::node()"
PathExpression: An expression that establishes a set of nodes by following relationships between nodes in the document.
RootExpression: An expression whose value is always a set of nodes containing a single node, the document root.
SingletonComparison: Singleton Comparison: A Relational Expression that compares a singleton node-set with a string or numeric value for equals, not-equals, greater-than or less-than.
SingletonExpression: A node set expression that will always return zero or one nodes
SingletonNodeSet: A node-set value containing zero or one nodes
SortedSelection: A NodeSetExpression that retrieves nodes in order according to a specified sort key.
SortKeyEnumeration: A SortKeyEnumeration is NodeEnumeration that delivers the nodes sorted according to a specified sort key.
StandaloneContext: A StandaloneContext provides a context for parsing an expression or pattern appearing in a context other than a stylesheet.
Step: A step in a path expression
StringValue: A string value
StyleSheetFunctionCall: This class represents a call to a function defined in the stylesheet
TextFragmentValue: This class represents a Value of type result tree fragment, specifically, an RTF whose root owns a single text node.
UnionEnumeration: An enumeration representing a nodeset that is a union of two other NodeSets.
Value: A value is the result of an expression but it is also an expression in its own right
VariableReference: Variable reference: a reference to an XSL variable

Exception Summary
XPathException: XPathException is used to indicate an error in an XPath expression.

## Package com.icl.saxon.expr Description

This package provides classes associated with XPath expression handling.

The principal classes are:

Expression:
This represents an XPath Expression. There is a static method Expression.make() which is used to construct an Expression from a String (it is a factory method rather than a constructor, because it typically returns some subclass of Expression according to the syntax supplied). Subclasses of Expression represent different kinds of expression such as StringExpression and BooleanExpression. What they all have in common is an evaluate() method, which evaluates the expression in a given context to yield a Value.

Value:
This represents the result of evaluating an expression. But a Value is also an expression in its own right, reflecting the fact that literal values can be used syntactically wherever expressions can be used. There are subclasses of Value for the different data types: StringValue, NumericValue, NodeSetValue, BooleanValue, and FragmentValue.

ExpressionParser:
This class does the work of parsing both Expressions and Patterns. Applications should not call it directly. It uses the class Tokenizer for lexical analysis.

Michael H. Kay
8 January 2001