org.apache.xpath

## Interface ExpressionNode

All Superinterfaces:
  SourceLocator

All Known Implementing Classes:
  And, AttributeIterator, AxesWalker, BasicTestIterator, Bool, ChildIterator, ChildTestIterator, ContextMatchStepPattern, DecimalFormatProperties, DescendantIterator, Div, ElemApplyImport, ElemApplyTemplates, ElemAttribute, ElemAttributeSet, ElemCallTemplate, ElemChoose, ElemComment, ElemCopy, ElemCopyOf, ElemElement, ElemEmpty, ElemExsltFuncResult, ElemExsltFunction, ElemExtensionCall, ElemExtensionDecl, ElemExtensionScript, ElemFallback, ElemForEach, ElemIf, ElemLiteralResult, ElemMessage, ElemNumber, ElemOtherwise, ElemParam, ElemPI, ElemSort, ElemTemplate, ElemTemplateElement, ElemText, ElemTextLiteral, ElemUnknown, ElemUse, ElemValueOf, ElemVariable, ElemVariablePsuedo, ElemWhen, ElemWithParam, Equals, Expression, FilterExprIterator, FilterExprIteratorSimple, FilterExprWalker, FuncBoolean, FuncCeiling, FuncConcat, FuncContains, FuncCount, FuncCurrent, FuncDoclocation, FuncDocument, FuncExtElementAvailable, FuncExtFunction, FuncExtFunctionAvailable, FuncFalse, FuncFloor, FuncFormatNumb, FuncGenerateId, FuncId, FuncKey, FuncLang, FuncLast, FuncLocalPart, FuncNamespace, FuncNormalizeSpace, FuncNot, FuncNumber, FuncPosition, FuncQname, FuncRound, FuncStartsWith, FuncString, FuncStringLength, FuncSubstring, FuncSubstringAfter, FuncSubstringBefore, FuncSum, FuncSystemProperty, Function, Function2Args, Function3Args, FunctionDef1Arg, FunctionMultiArgs, FunctionOneArg, FunctionPattern, FuncTranslate, FuncTrue, FuncUnparsedEntityURI, Gt, Gte, KeyDeclaration, KeyIterator, KeyRefIterator, LocPathIterator, Lt, Lte, MatchPatternIterator, Minus, Mod, Mult, NamespaceAlias, Neg, NodeSequence, NodeTest, NotEquals, Number, OneStepIterator, OneStepIteratorForward, Operation, Or, OutputProperties, Plus, PredicatedNodeTest, ProcessorCharacters, ProcessorExsltFuncResult, ProcessorExsltFunction, ProcessorImport, ProcessorInclude, ProcessorLRE, ProcessorStylesheetDoc, ProcessorStylesheetElement, ProcessorTemplateElem, ProcessorText, ProcessorUnknown, Quo, ReverseAxesWalker, SelfIteratorNoPredicate, StepPattern, String, Stylesheet, StylesheetComposed, StylesheetRoot, UnaryOperation, UnionChildIterator, UnionPathIterator, UnionPattern, Variable, VariableSafeAbsRef, WalkingIterator, WalkingIteratorSorted, WhiteSpaceInfo, WhitespaceInfoPaths, XBoolean, XBooleanStatic, XNodeSet, XNodeSetForDOM, XNull, XNumber, XObject, XRTreeFrag, XRTreeFragSelectWrapper, XSLTElementProcessor, XString, XStringForChars, XStringForFSB, XUnresolvedVariable, XUnresolvedVariableSimple

    public interface ExpressionNode
    extends SourceLocator

A class that implements this interface can construct expressions, give information about child and parent expressions, and give the originating source information. A class that implements this interface does not lay any claim to being directly executable.

Note: This interface should not be considered stable. Only exprSetParent and exprGetParent can be counted on to work reliably. Work in progress.

### Method Summary

Methods
`void` `exprAddChild(ExpressionNode n, int i)` This method tells the node to add its argument to the node's list of children.
`ExpressionNode` `exprGetChild(int i)` This method returns a child node.
`int` `exprGetNumChildren()` Return the number of children the node has.
`ExpressionNode` `exprGetParent()`
`void` `exprSetParent(ExpressionNode n)` This pair of methods are used to inform the node of its parent.

### Methods inherited from interface javax.xml.transform.SourceLocator

`getColumnNumber, getLineNumber, getPublicId, getSystemId`

### Method Detail

#### exprSetParent

    void exprSetParent(ExpressionNode n)

This pair of methods are used to inform the node of its parent.

#### exprGetParent

    ExpressionNode exprGetParent()

#### exprAddChild

    void exprAddChild(ExpressionNode n,
                    int i)

This method tells the node to add its argument to the node's list of children.

#### exprGetChild

    ExpressionNode exprGetChild(int i)

This method returns a child node. The children are numbered from zero, left to right.

#### exprGetNumChildren

    int exprGetNumChildren()

Return the number of children the node has.