Package net.sf.saxon.tree
This package defines the implementation of the so-called "standard tree" structure.
DocumentImpl | A node in the XML parse tree representing the Document itself (or equivalently, the root
node of the Document). |
ElementImpl | ElementImpl implements an element with no attributes or namespace declarations. |
ElementWithAttributes | A node in the XML parse tree representing an XML element. |
LineNumberMap | Line numbers are not held in nodes in the tree, because they are not usually needed. |
NodeImpl | A node in the XML parse tree representing an XML element, character content, or attribute. |
SystemIdMap | System IDs are not held in nodes in the tree, because they are usually the same
for a whole document. |
TreeBuilder | The Builder class is responsible for taking a stream of SAX events and constructing
a Document tree. |
This package defines the implementation of the so-called "standard tree" structure. This
structure can be used to represent both the source document and the stylesheet.
It is no longer the default structure for source documents, but is always used for
stylesheets and for schema documents, because it allows each element to be represented
by a subclass of
Element
with application-specific functionality.
The classes represent the various kinds of node on the tree. Most of them
are not visible outside the package, with the notable exception of ElementImpl,
which can be subclassed to contain properties for a particular kind of element.
This capability is exploited especially in the stylesheet tree.
As well as classes representing nodes, there are classes representing
iterators over the various XPath axes, for example
ChildEnumeration
and
PrecedingEnumeration
.
The
TreeBuilder
performs the work of constructing a tree, from a
sequence of SAX-like
Receiver
events.
The package also contains some helper classes such as
SystemIdMap
and
LineNumberMap
that are used also by the TinyTree implementation.
Michael H. Kay
Saxonica Limited
9 February 2005