Package org.jaxen.xom
Class DocumentNavigator
- java.lang.Object
-
- org.jaxen.DefaultNavigator
-
- org.jaxen.xom.DocumentNavigator
-
- All Implemented Interfaces:
java.io.Serializable
,Navigator
public class DocumentNavigator extends DefaultNavigator
Interface for navigating around the XOM object model.This class is not intended for direct usage, but is used by the Jaxen engine during evaluation.
- See Also:
XPath
, Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DocumentNavigator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Iterator
getAttributeAxisIterator(java.lang.Object o)
Retrieve anIterator
matching theattribute
XPath axis.java.lang.String
getAttributeName(java.lang.Object o)
Retrieve the local name of the given attribute node.java.lang.String
getAttributeNamespaceUri(java.lang.Object o)
Retrieve the namespace URI of the given attribute node.java.lang.String
getAttributeQName(java.lang.Object o)
Retrieve the qualified name of the given attribute node.java.lang.String
getAttributeStringValue(java.lang.Object o)
Retrieve the string-value of an attribute node.java.util.Iterator
getChildAxisIterator(java.lang.Object o)
ThrowsUnsupportedAxisException
.java.lang.String
getCommentStringValue(java.lang.Object o)
Retrieve the string-value of a comment node.java.lang.Object
getDocument(java.lang.String s)
Default implementation that always returns null.java.lang.Object
getDocumentNode(java.lang.Object o)
Returns null.java.lang.String
getElementName(java.lang.Object o)
Retrieve the local name of the given element node.java.lang.String
getElementNamespaceUri(java.lang.Object o)
Retrieve the namespace URI of the given element node.java.lang.String
getElementQName(java.lang.Object o)
Retrieve the qualified name of the given element node.java.lang.String
getElementStringValue(java.lang.Object o)
Retrieve the string-value of an element node.java.util.Iterator
getNamespaceAxisIterator(java.lang.Object o)
ThrowsUnsupportedAxisException
.java.lang.String
getNamespacePrefix(java.lang.Object o)
Retrieve the namespace prefix of a namespace node.java.lang.String
getNamespaceStringValue(java.lang.Object o)
Retrieve the string-value of a namespace node.java.util.Iterator
getParentAxisIterator(java.lang.Object o)
ThrowsUnsupportedAxisException
.java.lang.Object
getParentNode(java.lang.Object o)
Default inefficient implementation.java.util.Iterator
getPrecedingAxisIterator(java.lang.Object o)
Retrieve anIterator
matching thepreceding
XPath axis.java.util.Iterator
getPrecedingSiblingAxisIterator(java.lang.Object o)
Retrieve anIterator
matching thepreceding-sibling
XPath axis.java.lang.String
getProcessingInstructionData(java.lang.Object o)
Returns null.java.lang.String
getProcessingInstructionTarget(java.lang.Object o)
Returns null.java.lang.String
getTextStringValue(java.lang.Object o)
Retrieve the string-value of a text node.boolean
isAttribute(java.lang.Object o)
Returns whether the given object is an attribute node.boolean
isComment(java.lang.Object o)
Returns whether the given object is a comment node.boolean
isDocument(java.lang.Object o)
Returns whether the given object is a document node.boolean
isElement(java.lang.Object o)
Returns whether the given object is an element node.boolean
isNamespace(java.lang.Object o)
Returns whether the given object is a namespace node.boolean
isProcessingInstruction(java.lang.Object o)
Returns whether the given object is a processing-instruction node.boolean
isText(java.lang.Object o)
Returns whether the given object is a text node.XPath
parseXPath(java.lang.String s)
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 s, java.lang.Object o)
Returns null.-
Methods inherited from class org.jaxen.DefaultNavigator
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getElementById, getFollowingAxisIterator, getFollowingSiblingAxisIterator, getNodeType, getSelfAxisIterator
-
-
-
-
Method Detail
-
isAttribute
public boolean isAttribute(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is an attribute node.- Parameters:
o
- the object to test- Returns:
true
if the object is an attribute node, elsefalse
-
isComment
public boolean isComment(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a comment node.- Parameters:
o
- the object to test- Returns:
true
if the object is a comment node, elsefalse
-
isDocument
public boolean isDocument(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a document node. A document node is the node that is selected by the XPath expression/
.- Parameters:
o
- the object to test- Returns:
true
if the object is a document node, elsefalse
-
isElement
public boolean isElement(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is an element node.- Parameters:
o
- the object to test- Returns:
true
if the object is an element node, elsefalse
-
isNamespace
public boolean isNamespace(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a namespace node.- Parameters:
o
- the object to test- Returns:
true
if the object is a namespace node, elsefalse
-
isProcessingInstruction
public boolean isProcessingInstruction(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a processing-instruction node.- Parameters:
o
- the object to test- Returns:
true
if the object is a processing-instruction node, elsefalse
-
isText
public boolean isText(java.lang.Object o)
Description copied from interface:Navigator
Returns whether the given object is a text node.- Parameters:
o
- the object to test- Returns:
true
if the object is a text node, elsefalse
-
getAttributeName
public java.lang.String getAttributeName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the local name of the given attribute node.- Parameters:
o
- the context attribute node- Returns:
- the local name of the attribute node
-
getAttributeNamespaceUri
public java.lang.String getAttributeNamespaceUri(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the namespace URI of the given attribute node.- Parameters:
o
- the context attribute node- Returns:
- the namespace URI of the attribute node
-
getAttributeQName
public java.lang.String getAttributeQName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the qualified name of the given attribute node.- Parameters:
o
- the context attribute node- Returns:
- the qualified name of the attribute node
-
getAttributeStringValue
public java.lang.String getAttributeStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of an attribute node. This should be the XML 1.0 normalized attribute value. This may be the empty string but must not be null.- Parameters:
o
- the attribute node- Returns:
- the string-value of the node
-
getCommentStringValue
public java.lang.String getCommentStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of a comment node. This may be the empty string if the comment is empty, but must not be null.- Parameters:
o
- the comment node- Returns:
- the string-value of the node
-
getElementName
public java.lang.String getElementName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the local name of the given element node.- Parameters:
o
- the context element node- Returns:
- the local name of the element node
-
getElementNamespaceUri
public java.lang.String getElementNamespaceUri(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the namespace URI of the given element node.- Parameters:
o
- the context element node- Returns:
- the namespace URI of the element node
-
getElementQName
public java.lang.String getElementQName(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the qualified name of the given element node.- Parameters:
o
- the context element node- Returns:
- the qualified name of the element node
-
getElementStringValue
public java.lang.String getElementStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of an element node. This may be the empty string if the element is empty, but must not be null.- Parameters:
o
- the comment node.- Returns:
- the string-value of the node.
-
getNamespacePrefix
public java.lang.String getNamespacePrefix(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the namespace prefix of a namespace node.- Parameters:
o
- the namespace node- Returns:
- the prefix associated with the node
-
getNamespaceStringValue
public java.lang.String getNamespaceStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of a namespace node. This is generally the namespace URI. This may be the empty string but must not be null.- Parameters:
o
- the namespace node- Returns:
- the string-value of the node
-
getTextStringValue
public java.lang.String getTextStringValue(java.lang.Object o)
Description copied from interface:Navigator
Retrieve the string-value of a text node. This must not be null and should not be the empty string. The XPath data model does not allow empty text nodes.- Parameters:
o
- the text node- Returns:
- the string-value of the node
-
getDocument
public java.lang.Object getDocument(java.lang.String s) throws FunctionCallException
Description copied from class:DefaultNavigator
Default implementation that always returns null. Override in subclass if the subclass can load documents.- Specified by:
getDocument
in interfaceNavigator
- Overrides:
getDocument
in classDefaultNavigator
- Parameters:
s
- the URL of the document to load- Returns:
- null
- Throws:
FunctionCallException
- if an error occurs while loading the URL; e.g. an I/O error or the document is malformed
-
getDocumentNode
public java.lang.Object getDocumentNode(java.lang.Object o)
Description copied from class:DefaultNavigator
Returns null.- Specified by:
getDocumentNode
in interfaceNavigator
- Overrides:
getDocumentNode
in classDefaultNavigator
- Parameters:
o
- the node to start from- Returns:
- null
- See Also:
Navigator.isDocument(Object)
-
getAttributeAxisIterator
public java.util.Iterator getAttributeAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
Retrieve anIterator
matching theattribute
XPath axis.- Specified by:
getAttributeAxisIterator
in interfaceNavigator
- Overrides:
getAttributeAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- an Iterator capable of traversing the axis, not null
-
getChildAxisIterator
public java.util.Iterator getChildAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
ThrowsUnsupportedAxisException
. Subclasses should override this method.- Specified by:
getChildAxisIterator
in interfaceNavigator
- Overrides:
getChildAxisIterator
in classDefaultNavigator
- Parameters:
o
- the node to start from- Returns:
- never returns
-
getParentAxisIterator
public java.util.Iterator getParentAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
ThrowsUnsupportedAxisException
. Subclasses should override this method.- Specified by:
getParentAxisIterator
in interfaceNavigator
- Overrides:
getParentAxisIterator
in classDefaultNavigator
- Parameters:
o
- the node to start from- Returns:
- never returns
-
getParentNode
public java.lang.Object getParentNode(java.lang.Object o)
Description copied from class:DefaultNavigator
Default inefficient implementation. Subclasses should override this method.- Specified by:
getParentNode
in interfaceNavigator
- Overrides:
getParentNode
in classDefaultNavigator
- Parameters:
o
- the node whose parent to return- Returns:
- the parent node
- See Also:
Navigator.isDocument(java.lang.Object)
,Navigator.isElement(java.lang.Object)
-
getPrecedingAxisIterator
public java.util.Iterator getPrecedingAxisIterator(java.lang.Object o) throws UnsupportedAxisException
Description copied from class:DefaultNavigator
Retrieve anIterator
matching thepreceding
XPath axis.- Specified by:
getPrecedingAxisIterator
in interfaceNavigator
- Overrides:
getPrecedingAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- an Iterator capable of traversing the axis, not null
- Throws:
UnsupportedAxisException
- if the semantics of the preceding axis are not supported by this object model
-
getPrecedingSiblingAxisIterator
public java.util.Iterator getPrecedingSiblingAxisIterator(java.lang.Object o) throws UnsupportedAxisException
Description copied from class:DefaultNavigator
Retrieve anIterator
matching thepreceding-sibling
XPath axis.- Specified by:
getPrecedingSiblingAxisIterator
in interfaceNavigator
- Overrides:
getPrecedingSiblingAxisIterator
in classDefaultNavigator
- Parameters:
o
- the original context node- Returns:
- an Iterator capable of traversing the axis, not null
- Throws:
UnsupportedAxisException
- if the semantics of the preceding-sibling axis are not supported by this object model
-
getProcessingInstructionData
public java.lang.String getProcessingInstructionData(java.lang.Object o)
Description copied from class:DefaultNavigator
Returns null.- Specified by:
getProcessingInstructionData
in interfaceNavigator
- Overrides:
getProcessingInstructionData
in classDefaultNavigator
- Parameters:
o
- the node to start from- Returns:
- null
-
getProcessingInstructionTarget
public java.lang.String getProcessingInstructionTarget(java.lang.Object o)
Description copied from class:DefaultNavigator
Returns null.- Specified by:
getProcessingInstructionTarget
in interfaceNavigator
- Overrides:
getProcessingInstructionTarget
in classDefaultNavigator
- Parameters:
o
- the node to start from- Returns:
- null
-
translateNamespacePrefixToUri
public java.lang.String translateNamespacePrefixToUri(java.lang.String s, java.lang.Object o)
Description copied from class:DefaultNavigator
Returns null.- Specified by:
translateNamespacePrefixToUri
in interfaceNavigator
- Overrides:
translateNamespacePrefixToUri
in classDefaultNavigator
- Parameters:
s
- the prefix to translateo
- the node to start from- Returns:
- null
- See Also:
NamespaceContext
-
parseXPath
public XPath parseXPath(java.lang.String s) throws SAXPathException
Description copied from interface:Navigator
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.- Parameters:
s
- the XPath expression- Returns:
- a new XPath expression object
- Throws:
SAXPathException
- if the string is not a syntactically correct XPath expression- See Also:
XPath
-
getNamespaceAxisIterator
public java.util.Iterator getNamespaceAxisIterator(java.lang.Object o)
Description copied from class:DefaultNavigator
ThrowsUnsupportedAxisException
. Subclasses that support the namespace axis must override this method.- Specified by:
getNamespaceAxisIterator
in interfaceNavigator
- Overrides:
getNamespaceAxisIterator
in classDefaultNavigator
- Parameters:
o
- the node to start from- Returns:
- never returns
-
-