## 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.

Copyright © 2014 Apache XML Project. All Rights Reserved.