gnu.kawa.xml
Class TreeScanner
java.lang.Object
gnu.mapping.PropertySet
gnu.mapping.Procedure
gnu.mapping.ProcedureN
gnu.mapping.MethodProc
gnu.kawa.xml.TreeScanner
- All Implemented Interfaces:
- CanInline, Named, java.io.Externalizable, java.io.Serializable
- Direct Known Subclasses:
- AncestorAxis, AncestorOrSelfAxis, AttributeAxis, ChildAxis, DescendantAxis, DescendantOrSelfAxis, FollowingAxis, FollowingSiblingAxis, ParentAxis, PrecedingAxis, PrecedingSiblingAxis, SelfAxis
public abstract class TreeScanner
- extends MethodProc
- implements java.io.Externalizable, CanInline
Abstract class that scans part of a node tree.
Takes a node argument, and writes matching "relative" nodes
out to a PositionConsumer as a sequence of position pairs.
This is uses to implement "path expressions" as in XPath/XSLT/XQuery.
For example, the ChildAxis sub-class writes out all child nodes
of the argument that match the 'type' NodePredicate.
- See Also:
- Serialized Form
Methods inherited from class gnu.mapping.Procedure |
apply, check0, check1, check2, check3, check4, checkArgCount, checkN, getSetter, getSourceLocation, match0, match1, match2, match3, match4, matchN, maxArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
type
public NodePredicate type
TreeScanner
public TreeScanner()
getNodePredicate
public NodePredicate getNodePredicate()
scan
public abstract void scan(AbstractSequence seq,
int ipos,
PositionConsumer out)
numArgs
public int numArgs()
- Description copied from class:
Procedure
- Return minArgs()|(maxArgs<<12).
- Overrides:
numArgs
in class Procedure
apply
public void apply(CallContext ctx)
throws java.lang.Throwable
- Description copied from class:
Procedure
- Call this Procedure using the explicit-CallContext-convention.
The input arguments are (by default) in stack.args;
the result is written to ctx.consumer.
- Overrides:
apply
in class Procedure
- Throws:
java.lang.Throwable
writeExternal
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
- Specified by:
writeExternal
in interface java.io.Externalizable
- Throws:
java.io.IOException
readExternal
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
- Specified by:
readExternal
in interface java.io.Externalizable
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
toString
public java.lang.String toString()
- Overrides:
toString
in class Procedure
inline
public Expression inline(ApplyExp exp,
ExpWalker walker)
- Description copied from interface:
CanInline
- Inline an application of this Procedure and return result.
Can return original expression.
- Specified by:
inline
in interface CanInline