## Uses of Interface
org.apache.xpath.ExpressionNode

Packages that use ExpressionNode
Package | Description
--- | ---
org.apache.xalan.processor | Parses an XSLT stylesheet document (which may include and import other stylesheet documents) and produces a StylesheetRoot (a TRaX Templates object).
org.apache.xalan.templates | Implements the `Templates` interface, and defines a set of classes that represent an XSLT stylesheet.
org.apache.xalan.transformer | In charge of run-time transformations and the production of result trees.
org.apache.xpath | Implementation of XPath; for the most part, only classes meant for public use are found at this root level of the XPath packages.
org.apache.xpath.axes | Implementation of XPath LocationPath support -- primary classes are LocPathIterator and UnionPathIterator.
org.apache.xpath.functions | Implements XPath functions -- each function is derived from Function, FunctionOneArg, Function2Args, etc, with number-of-arguments checking being applied mainly at compile time -- this package only implements XPath functions, XSLT functions are found in the "templates" package.
org.apache.xpath.objects | Implementation of XPath polymorphic type objects -- this package will grow as XPath objects are expanded to support XML Schema data types.
org.apache.xpath.operations | Support for XPath operations, such as +, -, string(), etc.
org.apache.xpath.patterns | Implementation of XPath nodeTest support, and XSLT pattern matching support.

### Uses of ExpressionNode in org.apache.xalan.processor

Classes in org.apache.xalan.processor that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `ProcessorCharacters` This class processes character events for a XSLT template element.
`class` | `ProcessorExsltFuncResult` This class processes parse events for an exslt func:result element.
`class` | `ProcessorExsltFunction` This class processes parse events for an exslt func:function element.
`class` | `ProcessorImport` This class processes parse events for an xsl:import element.
`class` | `ProcessorInclude` TransformerFactory class for xsl:include markup.
`class` | `ProcessorLRE` Processes an XSLT literal-result-element, or something that looks like one.
`class` | `ProcessorStylesheetDoc` This class processes the xsl:stylesheet element.
`class` | `ProcessorStylesheetElement` TransformerFactory for xsl:stylesheet or xsl:transform markup.
`class` | `ProcessorTemplateElem` This class processes parse events for an XSLT template element.
`class` | `ProcessorText` Process xsl:text.
`class` | `ProcessorUnknown` This class processes an unknown template element.
`class` | `WhitespaceInfoPaths`
`class` | `XSLTElementProcessor` This class acts as the superclass for all stylesheet element processors, and deals with things that are common to all elements.

### Uses of ExpressionNode in org.apache.xalan.templates

Classes in org.apache.xalan.templates that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `DecimalFormatProperties` Implement xsl:decimal-format.
`class` | `ElemApplyImport` Implement xsl:apply-imports.
`class` | `ElemApplyTemplates` Implement xsl:apply-templates.
`class` | `ElemAttribute` Implement xsl:attribute.
`class` | `ElemAttributeSet` Implement xsl:attribute-set.
`class` | `ElemCallTemplate` Implement xsl:call-template.
`class` | `ElemChoose` Implement xsl:choose.
`class` | `ElemComment` Implement xsl:comment.
`class` | `ElemCopy` Implement xsl:copy.
`class` | `ElemCopyOf` Implement xsl:copy-of.
`class` | `ElemElement` Implement xsl:element
`class` | `ElemEmpty` Simple empty elem to push on the stack when nothing else got pushed, so that pop() works correctly.
`class` | `ElemExsltFuncResult` Handles the EXSLT result element within an EXSLT function element.
`class` | `ElemExsltFunction` Implement func:function.
`class` | `ElemExtensionCall` Implement an extension element.
`class` | `ElemExtensionDecl` Implement the declaration of an extension element
`class` | `ElemExtensionScript` Implement Script extension element
`class` | `ElemFallback` Implement xsl:fallback.
`class` | `ElemForEach` Implement xsl:for-each.
`class` | `ElemIf` Implement xsl:if.
`class` | `ElemLiteralResult` Implement a Literal Result Element.
`class` | `ElemMessage` Implement xsl:message.
`class` | `ElemNumber` Implement xsl:number.
`class` | `ElemOtherwise` Implement xsl:otherwise.
`class` | `ElemParam` Implement xsl:param.
`class` | `ElemPI` Implement xsl:processing-instruction.
`class` | `ElemSort` Implement xsl:sort.
`class` | `ElemTemplate` Implement xsl:template.
`class` | `ElemTemplateElement` An instance of this class represents an element inside an xsl:template class.
`class` | `ElemText` Implement xsl:template.
`class` | `ElemTextLiteral` Implement a text literal.
`class` | `ElemUnknown` Implement an unknown element
`class` | `ElemUse` Implement xsl:use.
`class` | `ElemValueOf` Implement xsl:value-of.
`class` | `ElemVariable` Implement xsl:variable.
`class` | `ElemVariablePsuedo`
`class` | `ElemWhen` Implement xsl:when.
`class` | `ElemWithParam` Implement xsl:with-param.
`class` | `FuncDocument` Execute the Doc() function.
`class` | `FuncFormatNumb` Execute the FormatNumber() function.
`class` | `FuncKey` Execute the Key() function.
`class` | `KeyDeclaration` Holds the attribute declarations for the xsl:keys element.
`class` | `NamespaceAlias` Object to hold an xsl:namespace element.
`class` | `OutputProperties` This class provides information from xsl:output elements.
`class` | `Stylesheet` Represents a stylesheet element.
`class` | `StylesheetComposed` Represents a stylesheet that has methods that resolve includes and imports.
`class` | `StylesheetRoot` This class represents the root object of the stylesheet tree.
`class` | `WhiteSpaceInfo` This is used as a special "fake" template that can be handled by the TemplateList to do pattern matching on nodes.
`class` | `XUnresolvedVariable` An instance of this class holds unto a variable until it is executed.
`class` | `XUnresolvedVariableSimple` This is the same as XUnresolvedVariable, but it assumes that the context is already set up.

Methods in org.apache.xalan.templates that return ExpressionNode
Modifier and Type | Method and Description
--- | ---
`ExpressionNode` | ElemTemplateElement.`exprGetChild(int i)` This method returns a child node.
`ExpressionNode` | ElemTemplateElement.`exprGetParent()` Get the ExpressionNode parent of this node.

Methods in org.apache.xalan.templates with parameters of type ExpressionNode
Modifier and Type | Method and Description
--- | ---
`void` | ElemTemplateElement.`exprAddChild(ExpressionNode n, int i)` This method tells the node to add its argument to the node's list of children.
`void` | ElemTemplateElement.`exprSetParent(ExpressionNode n)` Set the parent of this node.

### Uses of ExpressionNode in org.apache.xalan.transformer

Classes in org.apache.xalan.transformer that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `KeyIterator` This class implements an optimized iterator for "key()" patterns, matching each node to the match attribute in one or more xsl:key declarations.
`class` | `KeyRefIterator` This class filters nodes from a key iterator, according to whether or not the use value matches the ref value.

### Uses of ExpressionNode in org.apache.xpath

Classes in org.apache.xpath that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `Expression` This abstract class serves as the base for all expression objects.

Methods in org.apache.xpath that return ExpressionNode
Modifier and Type | Method and Description
--- | ---
`ExpressionNode` | ExpressionNode.`exprGetChild(int i)` This method returns a child node.
`ExpressionNode` | Expression.`exprGetChild(int i)` This method returns a child node.
`ExpressionNode` | ExpressionNode.`exprGetParent()`
`ExpressionNode` | Expression.`exprGetParent()`
`ExpressionNode` | Expression.`getExpressionOwner()` Get the first non-Expression parent of this node.

Methods in org.apache.xpath with parameters of type ExpressionNode
Modifier and Type | Method and Description
--- | ---
`void` | ExpressionNode.`exprAddChild(ExpressionNode n, int i)` This method tells the node to add its argument to the node's list of children.
`void` | Expression.`exprAddChild(ExpressionNode n, int i)` This method tells the node to add its argument to the node's list of children.
`void` | ExpressionNode.`exprSetParent(ExpressionNode n)` This pair of methods are used to inform the node of its parent.
`void` | Expression.`exprSetParent(ExpressionNode n)` This pair of methods are used to inform the node of its parent.
`Node` | XPathException.`getStylesheetNode(ExpressionNode ex)` Get the XSLT ElemVariable that this sub-expression references.

Constructors in org.apache.xpath with parameters of type ExpressionNode
Constructor and Description
`XPathException(java.lang.String message, ExpressionNode ex)` Create an XPathException object that holds an error message.

### Uses of ExpressionNode in org.apache.xpath.axes

Classes in org.apache.xpath.axes that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `AttributeIterator` This class implements an optimized iterator for attribute axes patterns.
`class` | `AxesWalker` Serves as common interface for axes Walkers, and stores common state variables.
`class` | `BasicTestIterator` Base for iterators that handle predicates.
`class` | `ChildIterator` This class implements an optimized iterator for "node()" patterns, that is, any children of the context node.
`class` | `ChildTestIterator` This class implements an optimized iterator for children patterns that have a node test, and possibly a predicate.
`class` | `DescendantIterator` This class implements an optimized iterator for descendant, descendant-or-self, or "//foo" patterns.
`class` | `FilterExprIterator`
`class` | `FilterExprIteratorSimple` Class to use for one-step iteration that doesn't have a predicate, and doesn't need to set the context.
`class` | `FilterExprWalker` Walker for the OP_VARIABLE, or OP_EXTFUNCTION, or OP_FUNCTION, or OP_GROUP, op codes.
`class` | `LocPathIterator` This class extends NodeSetDTM, which implements NodeIterator, and fetches nodes one at a time in document order based on a XPath | `class` | `MatchPatternIterator` This class treats a LocationPath as a filtered iteration over the tree, evaluating each node in a super axis traversal against the LocationPath interpreted as a match pattern.
`class` | `NodeSequence` This class is the dynamic wrapper for a Xalan DTMIterator instance, and provides random access capabilities.
`class` | `OneStepIterator` This class implements a general iterator for those LocationSteps with only one step, and perhaps a predicate.
`class` | `OneStepIteratorForward` This class implements a general iterator for those LocationSteps with only one step, and perhaps a predicate, that only go forward (i.e. it can not be used with ancestors, preceding, etc.)
`class` | `PredicatedNodeTest`
`class` | `ReverseAxesWalker` Walker for a reverse axes.
`class` | `SelfIteratorNoPredicate` This class implements an optimized iterator for "." patterns, that is, the self axes without any predicates.
`class` | `UnionChildIterator` This class defines a simplified type of union iterator that only tests along the child axes.
`class` | `UnionPathIterator` This class extends NodeSetDTM, which implements DTMIterator, and fetches nodes one at a time in document order based on a XPath UnionExpr.
`class` | `WalkingIterator` Location path iterator that uses Walkers.
`class` | `WalkingIteratorSorted` This class iterates over set of nodes that needs to be sorted.

### Uses of ExpressionNode in org.apache.xpath.functions

Classes in org.apache.xpath.functions that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `FuncBoolean` Execute the Boolean() function.
`class` | `FuncCeiling` Execute the Ceiling() function.
`class` | `FuncConcat` Execute the Concat() function.
`class` | `FuncContains` Execute the Contains() function.
`class` | `FuncCount` Execute the Count() function.
`class` | `FuncCurrent` Execute the current() function.
`class` | `FuncDoclocation` Execute the proprietary document-location() function, which returns a node set of documents.
`class` | `FuncExtElementAvailable` Execute the ExtElementAvailable() function.
`class` | `FuncExtFunction` An object of this class represents an extension call expression.
`class` | `FuncExtFunctionAvailable` Execute the ExtFunctionAvailable() function.
`class` | `FuncFalse` Execute the False() function.
`class` | `FuncFloor` Execute the Floor() function.
`class` | `FuncGenerateId` Execute the GenerateId() function.
`class` | `FuncId` Execute the Id() function.
`class` | `FuncLang` Execute the Lang() function.
`class` | `FuncLast` Execute the Last() function.
`class` | `FuncLocalPart` Execute the LocalPart() function.
`class` | `FuncNamespace` Execute the Namespace() function.
`class` | `FuncNormalizeSpace` Execute the normalize-space() function.
`class` | `FuncNot` Execute the Not() function.
`class` | `FuncNumber` Execute the Number() function.
`class` | `FuncPosition` Execute the Position() function.
`class` | `FuncQname` Execute the Qname() function.
`class` | `FuncRound` Execute the round() function.
`class` | `FuncStartsWith` Execute the StartsWith() function.
`class` | `FuncString` Execute the String() function.
`class` | `FuncStringLength` Execute the StringLength() function.
`class` | `FuncSubstring` Execute the Substring() function.
`class` | `FuncSubstringAfter` Execute the SubstringAfter() function.
`class` | `FuncSubstringBefore` Execute the SubstringBefore() function.
`class` | `FuncSum` Execute the Sum() function.
`class` | `FuncSystemProperty` Execute the SystemProperty() function.
`class` | `Function` This is a superclass of all XPath functions.
`class` | `Function2Args` Base class for functions that accept two arguments.
`class` | `Function3Args` Base class for functions that accept three arguments.
`class` | `FunctionDef1Arg` Base class for functions that accept one argument that can be defaulted if not specified.
`class` | `FunctionMultiArgs` Base class for functions that accept an undetermined number of multiple arguments.
`class` | `FunctionOneArg` Base class for functions that accept one argument.
`class` | `FuncTranslate` Execute the Translate() function.
`class` | `FuncTrue` Execute the True() function.
`class` | `FuncUnparsedEntityURI`

Methods in org.apache.xpath.functions with parameters of type ExpressionNode
Modifier and Type | Method and Description
--- | ---
`void` | FuncExtFunction.`exprSetParent(ExpressionNode n)` Set the parent node.

### Uses of ExpressionNode in org.apache.xpath.objects

Classes in org.apache.xpath.objects that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `XBoolean` This class represents an XPath boolean object, and is capable of converting the boolean to other types, such as a string.
`class` | `XBooleanStatic` This class doesn't have any XPathContext, so override whatever to ensure it works OK.
`class` | `XNodeSet` This class represents an XPath nodeset object, and is capable of converting the nodeset to other types, such as a string.
`class` | `XNodeSetForDOM` This class overrides the XNodeSet#object() method to provide the original Node object, NodeList object, or NodeIterator.
`class` | `XNull` This class represents an XPath null object, and is capable of converting the null to other types, such as a string.
`class` | `XNumber` This class represents an XPath number, and is capable of converting the number to other types, such as a string.
`class` | `XObject` This class represents an XPath object, and is capable of converting the object to various types, such as a string.
`class` | `XRTreeFrag` This class represents an XPath result tree fragment object, and is capable of converting the RTF to other types, such as a string.
`class` | `XRTreeFragSelectWrapper` This class makes an select statement act like an result tree fragment.
`class` | `XString` This class represents an XPath string object, and is capable of converting the string to other types, such as a number.
`class` | `XStringForChars` This class will wrap a FastStringBuffer and allow for
`class` | `XStringForFSB` This class will wrap a FastStringBuffer and allow for

Constructors in org.apache.xpath.objects with parameters of type ExpressionNode
Constructor and Description
`XRTreeFrag(int root, XPathContext xctxt, ExpressionNode parent)` Create an XRTreeFrag Object.

### Uses of ExpressionNode in org.apache.xpath.operations

Classes in org.apache.xpath.operations that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `And` The 'and' operation expression executer.
`class` | `Bool` The 'boolean()' operation expression executer.
`class` | `Div` The 'div' operation expression executer.
`class` | `Equals` The '=' operation expression executer.
`class` | `Gt` The '>' operation expression executer.
`class` | `Gte` The '>=' operation expression executer.
`class` | `Lt` The '<' operation expression executer.
`class` | `Lte` The '<=' operation expression executer.
`class` | `Minus` The binary '-' operation expression executer.
`class` | `Mod` The 'mod' operation expression executer.
`class` | `Mult` The '*' operation expression executer.
`class` | `Neg` The unary '-' operation expression executer.
`class` | `NotEquals` The '!
`class` | `Number` The 'number()' operation expression executer.
`class` | `Operation` The baseclass for a binary operation.
`class` | `Or` The 'or' operation expression executer.
`class` | `Plus` The '+' operation expression executer.
`class` | `Quo` Deprecated.
`class` | `String` The 'string()' operation expression executer.
`class` | `UnaryOperation` The unary operation base class.
`class` | `Variable` The variable reference expression executer.
`class` | `VariableSafeAbsRef` This is a "smart" variable reference that is used in situations where an absolute path is optimized into a variable reference, but may be used in some situations where the document context may have changed.

### Uses of ExpressionNode in org.apache.xpath.patterns

Classes in org.apache.xpath.patterns that implement ExpressionNode
Modifier and Type | Class and Description
--- | ---
`class` | `ContextMatchStepPattern` Special context node pattern matcher.
`class` | `FunctionPattern` Match pattern step that contains a function.
`class` | `NodeTest` This is the basic node test class for both match patterns and location path steps.
`class` | `StepPattern` This class represents a single pattern match step.
`class` | `UnionPattern` This class represents a union pattern, which can have multiple individual StepPattern patterns.