Package net.sf.saxon.tree.linked
This package defines the implementation of the so-called "linked 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.
-
Interface Summary Interface Description NodeFactory Interface NodeFactory. -
Class Summary Class Description AttributeImpl A node in the "linked" tree representing an attribute.AttributeMapWithIdentity An implementation of AttributeMap suitable for representing attributes on a mutable tree.CommentImpl CommentImpl is an implementation of a Comment nodeDocumentImpl A node in the XML parse tree representing the Document itself (or equivalently, the root node of the Document).ElementImpl ElementImpl implements an element node in the Linked tree model.LineNumberMap Line numbers are not held in nodes in the tree, because they are not usually needed.LinkedBuilderMonitor Monitor construction of a document tree.LinkedTreeBuilder The LinkedTreeBuilder class is responsible for taking a stream of Receiver events and constructing a Document tree using the linked tree implementation.NodeImpl A node in the "linked" tree representing any kind of node except a namespace node.ParentNodeImpl ParentNodeImpl is an implementation of a non-leaf node (specifically, an Element node or a Document node)ProcInstImpl ProcInstImpl is an implementation of ProcInstInfo used by the Propagator to construct its trees.SystemIdMap System IDs are not held in nodes in the tree, because they are usually the same for a whole document.TextImpl A node in the XML parse tree representing character content.