public interface Navigator
extends java.io.Serializable
There is a method to obtain a java.util.Iterator
,
for each axis specified by XPath. If the target object model
does not support the semantics of a particular axis, an
UnsupportedAxisException
is to be thrown. If there are
no nodes on that axis, an empty iterator should be returned.
Modifier and Type | Method and Description |
---|---|
java.util.Iterator |
getAncestorAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the ancestor
XPath axis. |
java.util.Iterator |
getAncestorOrSelfAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the
ancestor-or-self XPath axis. |
java.util.Iterator |
getAttributeAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the attribute
XPath axis. |
java.lang.String |
getAttributeName(java.lang.Object attr)
Retrieve the local name of the given attribute node.
|
java.lang.String |
getAttributeNamespaceUri(java.lang.Object attr)
Retrieve the namespace URI of the given attribute node.
|
java.lang.String |
getAttributeQName(java.lang.Object attr)
Retrieve the qualified name of the given attribute node.
|
java.lang.String |
getAttributeStringValue(java.lang.Object attr)
Retrieve the string-value of an attribute node.
|
java.util.Iterator |
getChildAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the child
XPath axis. |
java.lang.String |
getCommentStringValue(java.lang.Object comment)
Retrieve the string-value of a comment node.
|
java.util.Iterator |
getDescendantAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the descendant
XPath axis. |
java.util.Iterator |
getDescendantOrSelfAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the
descendant-or-self XPath axis. |
java.lang.Object |
getDocument(java.lang.String uri)
Loads a document from the given URI
|
java.lang.Object |
getDocumentNode(java.lang.Object contextNode)
Returns the document node that contains the given context node.
|
java.lang.Object |
getElementById(java.lang.Object contextNode,
java.lang.String elementId)
Returns the element whose ID is given by elementId.
|
java.lang.String |
getElementName(java.lang.Object element)
Retrieve the local name of the given element node.
|
java.lang.String |
getElementNamespaceUri(java.lang.Object element)
Retrieve the namespace URI of the given element node.
|
java.lang.String |
getElementQName(java.lang.Object element)
Retrieve the qualified name of the given element node.
|
java.lang.String |
getElementStringValue(java.lang.Object element)
Retrieve the string-value of an element node.
|
java.util.Iterator |
getFollowingAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the following
XPath axis. |
java.util.Iterator |
getFollowingSiblingAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the
following-sibling XPath axis. |
java.util.Iterator |
getNamespaceAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the namespace
XPath axis. |
java.lang.String |
getNamespacePrefix(java.lang.Object ns)
Retrieve the namespace prefix of a namespace node.
|
java.lang.String |
getNamespaceStringValue(java.lang.Object ns)
Retrieve the string-value of a namespace node.
|
short |
getNodeType(java.lang.Object node)
Returns a number that identifies the type of node that the given
object represents in this navigator.
|
java.util.Iterator |
getParentAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the parent XPath axis. |
java.lang.Object |
getParentNode(java.lang.Object contextNode)
Returns the parent of the given context node.
|
java.util.Iterator |
getPrecedingAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the preceding XPath axis. |
java.util.Iterator |
getPrecedingSiblingAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the
preceding-sibling XPath axis. |
java.lang.String |
getProcessingInstructionData(java.lang.Object pi)
Retrieve the data of a processing-instruction.
|
java.lang.String |
getProcessingInstructionTarget(java.lang.Object pi)
Retrieve the target of a processing-instruction.
|
java.util.Iterator |
getSelfAxisIterator(java.lang.Object contextNode)
Retrieve an
Iterator matching the self XPath
axis. |
java.lang.String |
getTextStringValue(java.lang.Object text)
Retrieve the string-value of a text node.
|
boolean |
isAttribute(java.lang.Object object)
Returns whether the given object is an attribute node.
|
boolean |
isComment(java.lang.Object object)
Returns whether the given object is a comment node.
|
boolean |
isDocument(java.lang.Object object)
Returns whether the given object is a document node.
|
boolean |
isElement(java.lang.Object object)
Returns whether the given object is an element node.
|
boolean |
isNamespace(java.lang.Object object)
Returns whether the given object is a namespace node.
|
boolean |
isProcessingInstruction(java.lang.Object object)
Returns whether the given object is a processing-instruction node.
|
boolean |
isText(java.lang.Object object)
Returns whether the given object is a text node.
|
XPath |
parseXPath(java.lang.String xpath)
Returns a parsed form of the given XPath string, which will be suitable
for queries on documents that use the same navigator as this one.
|
java.lang.String |
translateNamespacePrefixToUri(java.lang.String prefix,
java.lang.Object element)
Translate a namespace prefix to a namespace URI, possibly
considering a particular element node.
|
java.util.Iterator getChildAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the child
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the child axis are
not supported by this object modeljava.util.Iterator getDescendantAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the descendant
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the desscendant axis are
not supported by this object modeljava.util.Iterator getParentAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the parent
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the parent axis are
not supported by this object modeljava.util.Iterator getAncestorAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the ancestor
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the ancestor axis are
not supported by this object modeljava.util.Iterator getFollowingSiblingAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the
following-sibling
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the following-sibling axis are
not supported by this object modeljava.util.Iterator getPrecedingSiblingAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the
preceding-sibling
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the preceding-sibling axis are
not supported by this object modeljava.util.Iterator getFollowingAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the following
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the following axis are
not supported by this object modeljava.util.Iterator getPrecedingAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the preceding
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the preceding axis are
not supported by this object modeljava.util.Iterator getAttributeAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the attribute
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the attribute axis are
not supported by this object modeljava.util.Iterator getNamespaceAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the namespace
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the namespace axis are
not supported by this object modeljava.util.Iterator getSelfAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the self
XPath
axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the self axis are
not supported by this object modeljava.util.Iterator getDescendantOrSelfAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the
descendant-or-self
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the descendant-or-self axis are
not supported by this object modeljava.util.Iterator getAncestorOrSelfAxisIterator(java.lang.Object contextNode) throws UnsupportedAxisException
Iterator
matching the
ancestor-or-self
XPath axis.contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the ancestor-or-self axis are
not supported by this object modeljava.lang.Object getDocument(java.lang.String uri) throws FunctionCallException
uri
- the URI of the document to loadFunctionCallException
- if the document could not be loadedjava.lang.Object getDocumentNode(java.lang.Object contextNode)
contextNode
- the context nodeisDocument(Object)
java.lang.Object getParentNode(java.lang.Object contextNode) throws UnsupportedAxisException
The parent of any node must either be a document node or an element node.
contextNode
- the context nodeUnsupportedAxisException
- if the parent axis is not
supported by the modelisDocument(java.lang.Object)
,
isElement(java.lang.Object)
java.lang.String getElementNamespaceUri(java.lang.Object element)
element
- the context element nodejava.lang.String getElementName(java.lang.Object element)
element
- the context element nodejava.lang.String getElementQName(java.lang.Object element)
element
- the context element nodejava.lang.String getAttributeNamespaceUri(java.lang.Object attr)
attr
- the context attribute nodejava.lang.String getAttributeName(java.lang.Object attr)
attr
- the context attribute nodejava.lang.String getAttributeQName(java.lang.Object attr)
attr
- the context attribute nodejava.lang.String getProcessingInstructionTarget(java.lang.Object pi)
pi
- the context processing-instruction nodejava.lang.String getProcessingInstructionData(java.lang.Object pi)
pi
- the context processing-instruction nodeboolean isDocument(java.lang.Object object)
/
.object
- the object to testtrue
if the object is a document node,
else false
boolean isElement(java.lang.Object object)
object
- the object to testtrue
if the object is an element node,
else false
boolean isAttribute(java.lang.Object object)
object
- the object to testtrue
if the object is an attribute node,
else false
boolean isNamespace(java.lang.Object object)
object
- the object to testtrue
if the object is a namespace node,
else false
boolean isComment(java.lang.Object object)
object
- the object to testtrue
if the object is a comment node,
else false
boolean isText(java.lang.Object object)
object
- the object to testtrue
if the object is a text node,
else false
boolean isProcessingInstruction(java.lang.Object object)
object
- the object to testtrue
if the object is a processing-instruction node,
else false
java.lang.String getCommentStringValue(java.lang.Object comment)
comment
- the comment nodejava.lang.String getElementStringValue(java.lang.Object element)
element
- the comment node.java.lang.String getAttributeStringValue(java.lang.Object attr)
attr
- the attribute nodejava.lang.String getNamespaceStringValue(java.lang.Object ns)
ns
- the namespace nodejava.lang.String getTextStringValue(java.lang.Object text)
text
- the text nodejava.lang.String getNamespacePrefix(java.lang.Object ns)
ns
- the namespace nodejava.lang.String translateNamespacePrefixToUri(java.lang.String prefix, java.lang.Object element)
Strictly speaking, prefix-to-URI translation should occur irrespective of any element in the document. This method is provided to allow a non-conforming ease-of-use enhancement.
prefix
- the prefix to translateelement
- the element to consider during translationNamespaceContext
XPath parseXPath(java.lang.String xpath) throws SAXPathException
xpath
- the XPath expressionSAXPathException
- if the string is not a syntactically
correct XPath expressionXPath
java.lang.Object getElementById(java.lang.Object contextNode, java.lang.String elementId)
contextNode
- a node from the document in which to look for the
idelementId
- id to look forshort getNodeType(java.lang.Object node)
node
- ????Pattern