NodeInfo interface
The NodeInfo
interface (net.sf.saxon.om.NodeInfo on Java,
or Saxon.Hej.om.NodeInfo
on C#) represents a
node of an XML document. The methods on this class follow the XPath data
model closely.
The most commonly used methods on NodeInfo
include:
getNodeKind() |
Gets a |
getDisplayName(), getLocalPart(), getPrefix(), getURI() |
These methods get the name of an element or attribute, 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. |
getUnicodeStringValue() |
Gets the string value of a node, as a |
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 an 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. |
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 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.