net.sf.saxon.om
Class VirtualCopy.VirtualCopier
java.lang.Object
net.sf.saxon.om.VirtualCopy.VirtualCopier
- VirtualCopy
- AxisIterator, SequenceIterator, UnfailingIterator
protected class VirtualCopy.VirtualCopier
extends java.lang.Object
VirtualCopier implements the XPath axes as applied to a VirtualCopy node. It works by
applying the requested axis to the node of which this is a copy. There are two
complications: firstly, all nodes encountered must themselves be (virtually) copied
to give them a new identity. Secondly, axes that stray outside the subtree rooted at
the original copied node must be truncated.
subtreeRoot
protected NodeInfo subtreeRoot
createCopy
protected VirtualCopy createCopy(NodeInfo node,
NodeInfo root)
Method to create the virtual copy of a node encountered when navigating. This method
is separated out so that it can be overridden in a subclass.
getProperties
public int getProperties()
Get properties of this iterator, as a bit-significant integer.
- getProperties in interface SequenceIterator
getStringValue
public CharSequence getStringValue()
Return the string value of the current node.
- getStringValue in interface AxisIterator
- the string value, as an instance of CharSequence.
iterateAxis
public AxisIterator iterateAxis(byte axis,
NodeTest test)
Return an iterator over an axis, starting at the current node.
- iterateAxis in interface AxisIterator
axis
- the axis to iterate over, using a constant such as
Axis.CHILD
test
- a predicate to apply to the nodes before returning them.
moveNext
public boolean moveNext()
Move to the next node, without returning it. Returns true if there is
a next node, false if the end of the sequence has been reached. After
calling this method, the current node may be retrieved using the
current() function.
- moveNext in interface AxisIterator