NodeInfo interface
The NodeInfo object represents a node of an XML document. The methods on this class follow the XPath data model closely.
The NodeInfo object provides the application with information about the node. The most commonly used methods include:
getNodeKind() |
Gets a |
getDisplayName(), getLocalPart(), getPrefix(), getURI() |
These methods get the name of the element, or its various parts. The
|
getAttributeValue() |
Gets the value of a specified attribute, as a |
getStringValue() |
Gets the string value of a node, as defined in the XPath data model. |
atomize() |
Gets the typed value of a node, as defined in the XPath 2.0 data model. This is in
general a sequence of atomic values, so the result is a AtomicSequence. In most
cases the typed value will either be a single atomic value or an empty sequence;
a single atomic value will be represented using class
AtomicValue
(which implements |
getParent() |
Gets the NodeInfo representing the parent element, (which will be a DocumentInfo object if this is the outermost element). |
iterateAxis() |
Returns an AxisIterator object that can be used to iterate over the nodes on any
of the XPath axes. The first argument is an integer identifying the axis; the
second is a NodeTest
(a simple form of pattern) which can be used to filter the nodes on the axis.
Supply |
For other methods, see the NodeInfo JavaDoc documentation.
It is possible (though not easy) to provide your own implementation of the
NodeInfo
interface, perhaps allowing Saxon queries to run directly against
some non-XML data source. There are helper methods in the net.sf.saxon.tree.util.Navigator class that
reduce the amount of code you need to write to achieve this. See the implementations that
map NodeInfo
to DOM, DOM4J, JDOM or XOM to see how it is done.