Package com.icl.saxon.expr

This package provides classes associated with XPath expression handling.

See:
          Description

Interface Summary
NodeEnumeration A NodeEnumeration is used to iterate over a list of nodes.
StaticContext A StaticContext contains the information needed while an expression or pattern is being parsed.
 

Class Summary
AllElementsExpression An expression of the form "//name"
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.
EmptyNodeSet A node-set value no nodes
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.
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.
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::*"
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.
SingletonEnumeration SingletonEnumeration: an enumeration of zero or one nodes
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
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
 

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.

Pattern:
This represents an XSL Pattern (previously called a "match pattern"). There is a static method Pattern.make() which is used to construct a Pattern from a String (it is a factory method rather than a constructor, because it typically returns some subclass of Pattern according to the syntax supplied). Subclasses of Pattern represent different kinds of pattern such as UnionPattern and IDPattern.

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
13 April 2000