|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.sf.saxon.tree.util.Navigator
public final class Navigator
The Navigator class provides helper classes for navigating a tree, irrespective of its implementation
| Nested Class Summary | |
|---|---|
static class |
Navigator.AncestorEnumeration
General-purpose implementation of the ancestor and ancestor-or-self axes |
static class |
Navigator.AxisFilter
AxisFilter is an iterator that applies a NodeTest filter to the nodes returned by an underlying AxisIterator. |
static class |
Navigator.BaseEnumeration
BaseEnumeration is an abstract implementation of an AxisIterator, it simplifies the implementation of the underlying AxisIterator by requiring it to provide only two methods: advance(), and getAnother(). |
static class |
Navigator.DescendantEnumeration
General-purpose implementation of the descendant and descendant-or-self axes, in terms of the child axis. |
static class |
Navigator.EmptyTextFilter
EmptyTextFilter is an iterator that applies removes any zero-length text nodes returned by an underlying AxisIterator. |
static class |
Navigator.FollowingEnumeration
General purpose implementation of the following axis, in terms of the ancestor, child, and following-sibling axes |
static class |
Navigator.PrecedingEnumeration
Helper method to iterate over the preceding axis, or Saxon's internal preceding-or-ancestor axis, by making use of the ancestor, descendant, and preceding-sibling axes. |
| Method Summary | |
|---|---|
static String |
alphaKey(int value)
Construct an alphabetic key from an positive integer; the key collates in the same sequence as the integer |
static void |
appendSequentialKey(SiblingCountingNode node,
FastStringBuffer sb,
boolean addDocNr)
Get a character string that uniquely identifies this node and that collates nodes into document order |
static int |
compareOrder(SiblingCountingNode first,
SiblingCountingNode second)
Generic (model-independent) method to determine the relative position of two node in document order. |
static void |
copy(NodeInfo node,
Receiver out,
int copyOptions,
int locationId)
Generic (model-independent) implementation of deep copy algorithm for nodes. |
static AxisIterator |
filteredSingleton(NodeInfo node,
NodeTest nodeTest)
Create an iterator over a singleton node, if it exists and matches a nodetest; otherwise return an empty iterator |
static String |
getAttributeValue(NodeInfo element,
String uri,
String localName)
Get the string value of an attribute of a given element, given the URI and local part of the attribute name. |
static String |
getBaseURI(NodeInfo node)
Helper method to get the base URI of an element or processing instruction node |
static int |
getNumberAny(Expression inst,
NodeInfo node,
Pattern count,
Pattern from,
XPathContext context,
boolean hasVariablesInPatterns)
Get node number (level="any"). |
static List<Long> |
getNumberMulti(NodeInfo node,
Pattern count,
Pattern from,
XPathContext context)
Get node number (level="multiple"). |
static int |
getNumberSimple(NodeInfo node,
XPathContext context)
Get simple node number. |
static int |
getNumberSingle(NodeInfo node,
Pattern count,
Pattern from,
XPathContext context)
Get node number (level="single"). |
static NodeInfo |
getOutermostElement(DocumentInfo doc)
Helper method to get the outermost element of a document, given the document node |
static String |
getPath(NodeInfo node)
Get an absolute XPath expression that identifies a given node within its document |
static String |
getPath(NodeInfo node,
XPathContext context)
Get an absolute XPath expression that identifies a given node within its document |
static boolean |
isAncestorOrSelf(NodeInfo a,
NodeInfo d)
Test if one node is an ancestor-or-self of another |
static NodeTest |
makeNodeTest(NamePool pool,
int nodeKind,
String uri,
String localName)
Helper method to construct a NodeTest for use with the NodeInfo.iterateAxis(byte) method |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
|---|
public static String getAttributeValue(NodeInfo element,
String uri,
String localName)
element - the element on which the required attribute appearsuri - The namespace URI of the attribute name.
The "no namespace" case is represented as an empty string.localName - The local part of the attribute name.
public static NodeInfo getOutermostElement(DocumentInfo doc)
doc - the document node at the root of the document
public static NodeTest makeNodeTest(NamePool pool,
int nodeKind,
String uri,
String localName)
NodeInfo.iterateAxis(byte) method
pool - the NamePool. The relevant NamePool can be obtained by calling the method
NodeInfo.getNamePool().nodeKind - The kind of node required, for example Type.ELEMENT or Type.ATTRIBUTE.
To select nodes of any kind, use Type.NODE.uri - The namespace URI of the nodes to be selected. Supply null to selects nodes from any
namespace or none. Supply "" to select nodes that are not in a namespace.localName - The local name of the nodes to be selected. Supply null to select nodes irrespective
of their local name.
public static String getBaseURI(NodeInfo node)
node - the node whose base URI is required
public static String getPath(NodeInfo node)
node - the node whose path is required. If null is supplied,
an empty string is returned - this fact is used in making a recursive call
for a parentless node.
public static String getPath(NodeInfo node,
XPathContext context)
node - the node whose path is required. If null is supplied,
an empty string is returned - this fact is used in making a recursive call
for a parentless node.context - the XPath dynamic evaluation context. May be null if no context is known
public static int getNumberSimple(NodeInfo node,
XPathContext context)
node - The node whose number is requiredcontext - Used for remembering previous result, for
performance. May be null.
public static int getNumberSingle(NodeInfo node,
Pattern count,
Pattern from,
XPathContext context)
throws XPathException
node - the current node, the one whose node number is requiredcount - Pattern that identifies which nodes should be
counted. Default (null) is the element name if the current node is
an element, or "node()" otherwise.from - Pattern that specifies where counting starts from.
Default (null) is the root node. (This parameter does not seem
useful but is included for the sake of XSLT conformance.)context - the dynamic context of the transformation, used if
the patterns reference context values (e.g. variables)
XPathException - when any error occurs in processing
public static int getNumberAny(Expression inst,
NodeInfo node,
Pattern count,
Pattern from,
XPathContext context,
boolean hasVariablesInPatterns)
throws XPathException
inst - Identifies the xsl:number expression; this is relevant
when the function is memoised to support repeated use of the same
instruction to number multiple nodesnode - The node being numberedcount - Pattern that identifies which nodes should be
counted. Default (null) is the element name if the current node is
an element, or "node()" otherwise.from - Pattern that specifies where counting starts from.
Default (null) is the root node. Only nodes at or after the first (most
recent) node that matches the 'from' pattern are counted.context - The dynamic context for the transformationhasVariablesInPatterns - if the count or from patterns
contain variables, then it's not safe to get the answer by adding
one to the number of the most recent node that matches
XPathException - if any dynamic error occurs
public static List<Long> getNumberMulti(NodeInfo node,
Pattern count,
Pattern from,
XPathContext context)
throws XPathException
node - The node to be numberedcount - Pattern that identifies which nodes (ancestors and
their previous siblings) should be counted. Default (null) is the
element name if the current node is an element, or "node()"
otherwise.from - Pattern that specifies where counting starts from.
Default (null) is the root node. Only nodes below the first (most
recent) node that matches the 'from' pattern are counted.context - The dynamic context for the transformation
XPathException - if an error occurs
public static void copy(NodeInfo node,
Receiver out,
int copyOptions,
int locationId)
throws XPathException
node - The node to be copiedout - The receiver to which events will be sentcopyOptions - Options for copying namespaces, type annotations, etc,
as defined in CopyOptionslocationId - The location of the instruction invoking the copy
XPathException - on any failure reported by the Receiver
public static int compareOrder(SiblingCountingNode first,
SiblingCountingNode second)
first - The first nodesecond - The second node, whose position is to be compared with the first node
public static void appendSequentialKey(SiblingCountingNode node,
FastStringBuffer sb,
boolean addDocNr)
node - the node whose unique identifier is reuqiredsb - a buffer to which the unique identifier will be appendedaddDocNr - true if a unique document number is to be included in the informationpublic static String alphaKey(int value)
value - The positive integer key value (negative values are treated as zero).
public static boolean isAncestorOrSelf(NodeInfo a,
NodeInfo d)
a - the putative ancestor-or-self noded - the putative descendant node
public static AxisIterator filteredSingleton(NodeInfo node,
NodeTest nodeTest)
node - the singleton node, or null if the node does not existnodeTest - the test to be applied
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||