Package net.sf.saxon.tree.tiny
Class TinyTreeEventIterator
java.lang.Object
net.sf.saxon.tree.tiny.TinyTreeEventIterator
- All Implemented Interfaces:
LocationProvider,EventIterator,PullEvent
This implementation of the Saxon event-pull interface starts from a document, element,
text, comment, or processing-instruction node in a TinyTree,
and returns the events corresponding to that node and its descendants (including
their attributes and namespaces). The class performs the same function as
the general-purpose
Decomposer class, but is
specialized to exploit the TinyTree data structure: in particular, it never
materializes any Node objects.-
Constructor Summary
ConstructorsConstructorDescriptionTinyTreeEventIterator(TinyNodeImpl startNode, PipelineConfiguration pipe) Create a TinyTreeEventIterator to return events associated with a tree or subtree -
Method Summary
Modifier and TypeMethodDescriptionintgetColumnNumber(long locationId) Get location information: the column number of the current start element eventintgetLineNumber(long locationId) Get location information: the line number of the current start element eventgetSystemId(long locationId) Get location information: the system Id of the current start element eventbooleanDetermine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iteratorsnext()Get the next event
-
Constructor Details
-
TinyTreeEventIterator
Create a TinyTreeEventIterator to return events associated with a tree or subtree- Parameters:
startNode- the root of the tree or subtree. Must be a document or element node.pipe- the Saxon pipeline configuration- Throws:
IllegalArgumentException- if the start node is an attribute or namespace node.
-
-
Method Details
-
next
Get the next event- Specified by:
nextin interfaceEventIterator- Returns:
- a PullEvent object representing the next event, or null when the sequence is exhausted
- Throws:
XPathException- if a dynamic evaluation error occurs
-
isFlatSequence
public boolean isFlatSequence()Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators- Specified by:
isFlatSequencein interfaceEventIterator- Returns:
- true if the next() method is guaranteed never to return an EventIterator
-
getSystemId
Get location information: the system Id of the current start element event- Specified by:
getSystemIdin interfaceLocationProvider- Parameters:
locationId- in this case, the node number in the tiny tree- Returns:
- the system Id of the node: that is its base URI, before taking xml:base into account
-
getLineNumber
public int getLineNumber(long locationId) Get location information: the line number of the current start element event- Specified by:
getLineNumberin interfaceLocationProvider- Parameters:
locationId- in this case, the node number in the tiny tree- Returns:
- the line number of the node if known, or -1 otherwise
-
getColumnNumber
public int getColumnNumber(long locationId) Get location information: the column number of the current start element event- Specified by:
getColumnNumberin interfaceLocationProvider- Parameters:
locationId- in this case, the node number in the tiny tree- Returns:
- the column number of the node if known, or -1 otherwise
-