Class PrecedingEnumeration
java.lang.Object
com.icl.saxon.tinytree.PrecedingEnumeration
- All Implemented Interfaces:
LastPositionFinder, AxisEnumeration, NodeEnumeration
Enumerate all the nodes on the preceding axis from a given start node.
The calling code ensures that the start node is not a root, attribute,
or namespace node. As well as the standard XPath preceding axis, this
class also implements a Saxon-specific "preceding-or-ancestor" axis
which returns ancestor nodes as well as preceding nodes. This is used
when performing xsl:number level="any".
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) TinyDocumentImpl(package private) boolean(package private) int(package private) int(package private) int(package private) TinyNodeImpl(package private) NodeTest -
Constructor Summary
ConstructorsConstructorDescriptionPrecedingEnumeration(TinyDocumentImpl doc, TinyNodeImpl node, NodeTest nodeTest, boolean includeAncestors) -
Method Summary
Modifier and TypeMethodDescriptionintGet the last position, that is the number of nodes in the enumerationbooleanDetermine whether there are more nodes to come.booleanisPeer()Determine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node.booleanDetermine whether the nodes returned by this enumeration are known to be in reverse document order.booleanisSorted()Determine whether the nodes returned by this enumeration are known to be in document orderGet the next node in sequence.
-
Field Details
-
document
TinyDocumentImpl document -
startNode
TinyNodeImpl startNode -
test
NodeTest test -
nextNodeNr
int nextNodeNr -
nextAncestorDepth
int nextAncestorDepth -
includeAncestors
boolean includeAncestors -
last
int last
-
-
Constructor Details
-
PrecedingEnumeration
public PrecedingEnumeration(TinyDocumentImpl doc, TinyNodeImpl node, NodeTest nodeTest, boolean includeAncestors)
-
-
Method Details
-
hasMoreElements
public boolean hasMoreElements()Description copied from interface:AxisEnumerationDetermine whether there are more nodes to come.
(Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).- Specified by:
hasMoreElementsin interfaceAxisEnumeration- Specified by:
hasMoreElementsin interfaceNodeEnumeration- Returns:
- true if there are more nodes
-
nextElement
Description copied from interface:AxisEnumerationGet the next node in sequence.
(Note the term "Element" is used here in the sense of the standard Java Enumeration class, it has nothing to do with XML elements).- Specified by:
nextElementin interfaceAxisEnumeration- Specified by:
nextElementin interfaceNodeEnumeration- Returns:
- the next NodeInfo
-
isSorted
public boolean isSorted()Description copied from interface:NodeEnumerationDetermine whether the nodes returned by this enumeration are known to be in document order- Specified by:
isSortedin interfaceNodeEnumeration- Returns:
- true if the nodes are guaranteed to be in document order.
-
isReverseSorted
public boolean isReverseSorted()Description copied from interface:NodeEnumerationDetermine whether the nodes returned by this enumeration are known to be in reverse document order.- Specified by:
isReverseSortedin interfaceNodeEnumeration- Returns:
- true if the nodes are guaranteed to be in document order.
-
isPeer
public boolean isPeer()Description copied from interface:NodeEnumerationDetermine whether the nodes returned by this enumeration are known to be peers, that is, no node is a descendant or ancestor of another node. This significance of this property is that if a peer enumeration is applied to each node in a set derived from another peer enumeration, and if both enumerations are sorted, then the result is also sorted.- Specified by:
isPeerin interfaceNodeEnumeration
-
getLastPosition
public int getLastPosition()Get the last position, that is the number of nodes in the enumeration- Specified by:
getLastPositionin interfaceAxisEnumeration- Specified by:
getLastPositionin interfaceLastPositionFinder
-